(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Kilobaud Microcomputing Magazine (February 1980)"

5 . 



'• * 



February 1980 
$2.50 



kilobaud 



MICROCOMPUTING 



T.M. 



for business . . . education . . . FUN! 



HfiVPR 



£**ER POINT #1 (L TO LIST) 

' OCALA 

«$£ STORED DATA FOR POINT # 2 ? (Y/N) 



<i2fe4*Jt»ft»^ 



1*4*1 



£NT£P NAUE .. 

? JfiCKSONVIL £ 

ENTER LONGITUDE OF JACKSONVILLE (DEG,HIN) 



twti 






CKSONVILLE <DEG,HIN) 



ENTER LftTITU 

? 38,29.1 

IS KAG.VAR. E, V OR i 

? V 

ENTER HAG.VAR I NEAREST JfiCKSONVIL 

? i 



:^ 



flCKSONVILLE? 



LOCATIONS 



OCALA 



(NH) 
-> JACKSONVILLE 83.? 



^ 




f 



(DEG) (DEG) 
19.8 21.1 



(KTS) (H : H) 
132.6 8 37.9 



ETH FUEL 
•XX) (GAL) 



Computerized Flight Program for the H8 



-» . 



r\j: 
o! 



-Jn h+s Issue 



fin 
»>* 

■ t> 
fin 

:0 



32 Articles 
Incjudincj: 



o 

— ^— r- - 
o 






BuiJ^ a Cqlor Vjcjeo Display 
Heath H 1 4 and H 1 9 Reviews 
CP/M and You 
A FORTRAN Primer * 



from PEFGCM 



One-Drive System: 

$399. (40-track) & $675. (77-track) 
Two-Drive System: 

$795. (40-track drives) & $1350. (77-track drives) 
Three-Drive System: 

$1195. (40-track drives) & $2025. (77-track drives) 
Requires Expansion Interface, Level II BASIC & 16K RAM. 




Low Cost Add-On Storage for Your TRS-80 . 

In the Size You Want. 

When you're ready for add-on disk storage, we're ready for you. 
Ready with six mini-disk storage systems — 102K bytes to 591 K bytes of 

additional on-line storage for your TRS-80 . 



• Choose either 40-track TFD-100™ drives 
or 77-track TFD-200™ drives. 

• One-, two- and three-drive systems im- 
mediately available. 

• Systems include Percom PATCH PAK 
#1™, on disk, at no extra charge. PATCH 
PAK #1™ de-glitches and upgrades 
TRSDOS for 40- and 77-track operation. 

• TFD-100™ drives accommodate "flippy 
disks. " Store 205K bytes per mini-disk. 

• Low prices. A single-drive TFD-100 M 
costs just $399. Price includes PATCH 
PAK #1™ disk. 

• Enclosures are finished in system- 
compatible "Tandy-silver" enamel. 



Whether you need a single, 40- 
track TFD-1 00™ add-on or a three-drive 
add-on with 77-track TFD-200™s, you 
get more data storage for less money 
from Percom. 

Our TFD-100™ drive, for example, 
lets you store 102.4K bytes of data on 
one side of a disk — compared to 80K 
bytes on a TRS-80* mini-disk drive — 
and 102.4K bytes on the other side, too. 
Something you can't do with a TRS-80* 
drive. That's almost 205K bytes per 
mini-disk. 

And the TFD-200™ drives provide 
197K bytes of on-line storage per drive 



— 1 97K, 394K and 591 K bytes for one-, 
two and three-drive systems. 

PATCH PAK #1™, our upgrade 
program for your TRSDOS*, not only 
extends TRSDOS* to accommodate 40- 
and 77-track drives, it enhances 
TRSDOS* in other ways as well. PATCH 
PAK #1™ is supplied with each drive 
system at no additional charge. 

The reason you get more for less 
from Percom is simple. Peripherals are 
not a sideline at Percom. Selling disk 
systems and other peripherals is our 
main business — the reason you get 
more engineering, more reliability and 
more back up support for less money. 



In the Product Development Queue . . . a printer interface for using your TRS-80 with any 
serial printer, and . . . \he Electric Crayon™ to map your computer memory onto your color TV 
screen — for games, animated shows, business displays, graphs, etc. Coming PDQ! 



tm TFD-100, TFD-200, PATCH PAK and Electric Crayon are trademarks of PERCOM DATA COMPANY. 

*TRS-80 and TRSDOS are trademarks of Tandy Corporation and Radio Shack which have no relationship to PERCOM DATA COMPANY 



PERQOM 



PERCOM DATA COMPANY, INC. 
211 N. KIRBY • GARLAND, TX. • 75042 



i^P7 



To order add-on mini-disk storage for your TRS-80*, 
or request additional literature, call Percom's toll-free 
number: 1-800-527-1592. For detailed Technical infor- 
mation call (214) 272-3421. 

Orders may be paid by check or money order, or 
charged to Visa or Master Charge credit accounts. Texas 
residents must add 5% sales tax. 

Percom 'peripherals tor personal computing' 



# 



NTRTCC DAIA SYSTEMS SUPRBRAIN 






J '- - i i ' A i I 



LjJ 





The Honor Graduate 



There's been a lot of talk lately 
about intelligent terminals with 
small systems capability. And, it's 
always the same. The systems 
which make the grade in perfor- 
mance usually flunk the test in 
price. At least that was the case 
until the SuperBrain graduated with 
the highest PPR (Price/ Perfor- 
mance Ratio) in the history of the 
industry. 

For less than $3,000*, SuperBrain 
users get exceptional performance 
for just a fraction of what they'd 
expect to pay. Standard features in- 
clude: two dual-density mini-flop- 
pies with 320K bytes of disk storage, 
up to 64K of RAM to handle even 
the most sophisticated programs, 
a CP/M Disk Operating System 
with a high-powered text editor, as- 

*Quantity one. Dealer inquiries invited. 



sembler and debugger. And, with 
SuperBrain's S-100 bus adapter, you 
can even add a 10 megabyte disk! 

More than an intelligent terminal, 
the SuperBrain outperforms many 
other systems costing three to five 
times as much. Endowed with a 
hefty amount of available software 
(BASIC, FORTRAN, COBOL), the 
SuperBrain is ready to take on your 
toughest assignment. You name it! 
General Ledger, Accounts Receiv- 
able, Payroll, Inventory or Word Pro- 
cessing . . . the SuperBrain handles 
all of them with ease. 

Your operators will praise the 
SuperBrain's good looks. A full 
ASCII keyboard with a numeric key- 
pad and function keys. A non-glare, 
dynamically focused, twelve inch 
screen. All in an attractive desktop 
unit weighing less than a standard 



office typewriter. Sophisticated 
users will acclaim SuperBrain's twin 
Z-80 processors which transfer data 
to the screen at 38 kilobaud! Inter- 
facing a printer or modem is no 
problem using SuperBrain's RS- 
232C communications port. But best 
of all, you won't need a PhD in com- 
puter repair to maintain the Super- 
Brain. Its single board design makes 
servicing a snap! 

So don't be fooled by all the fresh- 
man students in the small systems 
business. Insist on this year's honor 
graduate . . . the SuperBrain. 

SUBSYSTEMS 

2300 Broad River Road, Columbia, SC 29210 
(803) 798-9100 TWX: 810-666-2115 



MORE CAPABILITIES THAN 
ANY OTHER PERSONAL COMPUTER 



I 



Compare the built-in features of the 
ATARI" 800" with other leading personal 
computers. Whether you program it 
yourself or use pre-programmed car- 
tridges or cassettes, the ATARI 800 gives 
you more for your money 

Run your own programs? Easy Just 
plug in the 8K BASIC or optional 
Assembler language cartridge, and 
go. They're ROM based. That means 
more RAM for your programs. 

Also included with the ATARI 800 is 
an internal speaker and four separate 
sound channels, FCC approval, a 
built-in RF modulator, the ATARI 410" 
Program Recorder and a high speed 
serial I/O. 

Peripherals? Add up to 48K of 
user installable RAM. Or up to four , 
individually accessible floppies. 



A high-speed printer. And more to come. 

Graphics programs? No problem. The 
ATARI 800 offers 1 28 color variations: 
16 colors in 8 luminance levels. Plus 
29 keystroke graphics symbols and 8 
graphics modes. All controlled from a 
57 character ASCII keyboard. With upper 
and lower case. 

Or, program it our way There are excit- 
ing programs available and many more 
on the way for the ATARI 800. Business 
programs. Home Management pro- 
grams. Entertainment. And with the 410 
audio/digital recorder, you can add 
Atari's unique Talk & Teach" Educational 
System cassettes. 



f 19781 


■19791 










Hi 








[ - 

11 1 












— 

I 








1 







Your way or our way, you'll find that 
the ATARI 800 is probably the most 
powerful computer that $999.99* 
can buy. 

And with that power, you get depend- 
ability. Dependability built into Atari's 
custom designed and fully-tested LSI cir- 
cuitry and lower component count, (less 
components, less chance for failure). 

But if anything ever does go wrong, 
you'll find a complete network of 
computer-connected Atari service facil- 
ities waiting for you throughout the 
country. 

Make your own comparison. Hands 
on. Anywhere computers are sold. Or, 
send for a free chart that compares 
the features of the ATARI 800 to 
other leading fully-programmable 

| computers. 

'Suggested retail price $999 99, includes 
computer console, program recoraer 
and BASIC language cartridge 



r?nn x vm j,i l xv m*hivv: \* rr t 



iiiiiniiiiiiiiintiiiiiww 



\\\\\\\\\\\\\ 







PERSONAL COMPUTER SYS 



1265 Borregas Ave., Dept. C, Sunnyvale, California 94086. Call toll-free 800-538-8547 
©Atari 1979 (In California 800-672-1404) for the name of your nearest Atari retailer. 

\£JA Warner Communications Company 



kilobaud 



T.M. 



MICROCOMPUTING 

contents* feb. '80 



ARTICLES 

20 NAVPROG: Computer-Generated Flight Plans hs does the hard part. Leiand o. Young 

30 Even More Randomness More information on random numbers. Bertram A. Thiel 

32 Audio for Your Microcomputer Use American Micro Products' MicroSounder. Rod Hallen 

36 5 Operator-Oriented Data Base Management System Part 2: the software. Joel Shapiro 

48 Dial-up Directory Installment number two on computer bulletin boards. Frank J. Derfler, Jr. 
54 Bargain-Basement '80 A b and w monitor for the TRS-80 Russell W. Steele 

58 Detailed Look at a Super Terminal in-depth review of Heath's H19. Ralph e. wynkoop 

64 Improve Your AC-30 A preamplifier for the AC-30 cassette interface. Dr. Peter Vijlbrief 

66 User-Defined Graphics for the Sorcerer Using the "built-in" special graphics. Dave Henderson 

68 MicrOCheSS Modifications Make a good game even better. Chris McCormack 

70 Two Intriguing and Useful Apple II Peripherals speechiab and Apple ciock. David Ramsey 

76 The Elf EPROMmer An easy EPROM programmer, if you have the Giant Board. Robert J. Cotter 

82 The SVYTP Computer System Part 9 covers disks, debugging and EPROM conversions. Peter A. Stark 

94 H8 String Finder Third installment in the "CONOPS" series. Chesney E. Twombly 

96 Reduce Keyboarding Effort Don't become a keyboard "phantom." Hines, Winkel, Collins 

98 The Heath H14 Line Printer A user report. Thomas A. Prewitt 

106 Improved Video DMA for the CT-64 Follow-up to an October article. Dewey Holten 

112 Development Of a Text-Handling Program It can be a learning experience. Paul W. Sparks 

120 Quick Screen-Clear for the Challenger II Prevent a computer complex. Richard Lary 

124 The Fitful Journey tO Double Density Perils and pitfalls of new technology. David C. Jenkins 

128 Breakpoints for North Star's Monitor Easier examination of bugs. Glenn Foster 

132 Apple's Hidden Floating-Point Routines Many features simultaneously. John Martellaro 

138 A Simple 2708 EPROM Programmer For the Motorola D2 kit. Frank W. Summers 

144 Stretching the Outer Limits Another handle on programming. Allan S. Joffe 

147 Connect the ADM-3A tO the SVYTP 6800 A concise how-to explanation. Joseph J. O'Loughlin III 

148 Color TV Display Use those new LSI chips. John C. Mem 

158 Add a Digital Tape-Index Counter tO the PET Locate programs and files quickly. John Spisich 

164 TSC'S Debugger Is it a debugger or a simulator? James M. Hansen 

166 Kid Korner Kids can develop problem-solving skills with this program. John Eric Victor 

168 Electronic Systems' Modem Kit Use it to "dial up." Kkk A. Godfrey-Kerekes 

172 Tiny BASIC Square Root Routine Squared away with Tiny BASIC. Tom Crawford 

174 Documentation: A Closer Look The actualities behind an overused term. Patrick C. Moyer 

177 Level II TRS-80 Graphics Code Break this built-in Level ll code. Fred Blechman 

183 CP/M and YOU Answer to: "Is CP/M the microcomputer cure-all?" Thorn Hogan 

186 A Printer for the KIM Or SYM Another home for the Selectric. John M. Blalock 

195 Understanding Microprocessors Use Heathkifs Educational Series. Elliot S. Kanter 

202 A First Look at FORTRAN You, too, can be multilingual. Wiley J. Moore 

DEPARTMENTS 

Publisher's Remarks — 6 

Output from Instant Software, Inc. — 8 

Books -8 

New Products — 12 

Letters -15 



Contest -18 
Classifieds -211 
Calendar -211 
Dealer Directory -21 2 
Corrections -212 



Cover A collective effort of Bob Liddle, Reese Fowler, the editorial staff, and Eastern Rainbow of Derry NH. 



micro info 



IE This symbol next to a title in 
* the table of contents indicates 
that the article is a business- 
application article. 

Manuscripts 

Contributions in the form of manu- 
scripts with drawings and/or photo- 
graphs are welcome and will be con- 
sidered for possible publication. We 
can assume no responsibility for loss 
or damage to any material. Please 
enclose a self-addressed, stamped 
envelope with each submission. Pay- 
ment for the use of any unsolicited 
material will be made upon accep- 
tance. All contributions should be di- 
rected to the Microcomputing 
editorial offices. "How to Write for 
Microcomputing" guidelines are 
available upon request. 

Editorial Offices: 

Pine Street 

Peterborough NH 03458 

Phone: 603-924-3873, 924-3874 

Advertising Offices: 

Pine Street 

Peterborough NH 03458 

Phone: 603-924-7138, 924-7139 

Circulation Offices: 

Pine Street 

Peterborough NH 03458 

Phone: 603-924-7296 

To subscribe, renew 
or change an address: 

Write to Microcomputing, Subscrip- 
tion Department, PO Box 997, Farm- 
ingdale NY 11737. For renewals and 
changes of address, include the ad- 
dress label from your most recent 
issue of Microcomputing. For gift 
subscriptions, include your name and 
address as well as those of gift recip- 
ients. Postmaster: Send form #3579 
to Microcomputing, Subscription Ser- 
vices, PO Box 997, Farmingdale NY 
11737. 

Subscription 
problem or question: 

Write to Microcomputing, Subscrip- 
tion Department, PO Box 997, Farm- 
ingdale NY 11737. Please include an 
address label. 



Kilobaud Microcomputing (ISSN 
0192-4575) is published monthly by 
1001001, Inc., Pine St., Peterborough 
NH 03458. Subscription rates in U.S. 
are $18 for one year and $45 for three 
years. In Canada: $20 for one year and 
$51 for three years. In Europe, send 
89, -DM in Eurocheque or send credit 
card information to: Monika Nedela, 
Markstr. 3, D-7778 Markdorf, W. Ger- 
many. South African Distributor: KB 
Microcomputing, PO Box 782815, 
Sandton, South Africa 2146. Austra- 
lia: For subscriptions write — 
Katherine Thirkell, Sontron Instru- 
ments, 17 Arawatta St., Carnegie, Vic. 
3163 Australia. All other foreign sub- 
scriptions are $23 — one year only 
(surface mail). Second-class postage 
paid at Peterborough NH 03458 and at 
additional maifing offices. Phone: 
603-924-3873. Entire contents copy- 
right 1979 by 1001001, Inc. No part of 
this publication may be reprinted or 
otherwise reproduced without written 
permission from the publisher. 



Microcomputing February 1980 5 



PUBLISHER'S REMARKS 



Wayne Green 



Centronics Does it 

In early November I got a cryp- 
tic note from Centronics an- 
nouncing a press conference in 
Boston for a new printer. I think 
all of us present were excited by 
the presentation. 

Centronics unveiled their 
Quietwriter, and it was some- 
thing completely new in writing 
systems. Before this, Centronics 
had been famous for dot-matrix 
printers. They had also produced 
some excellent treated paper 
printers. The two ways of putting 
characters on paper by printers so 
far had been via an impact sys- 
tem, with a ball, type wheel and 
dot matrix, or via treated paper 
and an electrical discharge. Now 
there was a new system. It was 
much like having a typewriter op- 
erate a pen against the paper. 

The heart of the new print 
mechanism contained few mov- 
ing parts. It had a stylus, which 
pressed a carbon ribbon against 
the paper. The stylus moved up or 
down, or increased in pressure by 
means of voice-coil operated le- 
vers. The movements of the stylus 
were programmed by a ROM and 
a microprocessor. One could type 
in English, Russian, Arabic, 
Farsi or even Chinese characters, 
just by changing the ROM. The 
pen could even imitate hand- 
writing. 

The prototype Quietwriters 
(and they were very quiet since 
there was no impact involved) 
turned out most attractive type. 




The newly announced Centronic Quietwriter is still perhaps 18 months 
away from regular production. It is a completely new type of writer, us- 
ing a stylus, much like a pen, to write. The cartridge holds the ROMs, 
which control the position of the stylus for each alphabet, whether it be 
English, Arabic or Chinese. The controls on the left govern the size of 
the character, boldness, slant, etc. 



The announcement was made 
about 18 months before produc- 
tion was scheduled, apparently 
for some legal reasons. 

It is still too early for Centron- 
ics to make any firm commit- 
ments on the price, but it might 
be around $1000. Since the print- 
er obviously will interface with 
microcomputers and be a wonder 
for word processing and electron- 
ic mail, I was ready to sign up for 
a few if a dotted line had been 
flashed. 

Centronics is a good parent for 
this new system. It is the largest 
computer-printer firm, with sales 
last year of over $120 million. 




They've already sold over 
150,000 printers, so they know 
design, production and market- 
ing. 



Out of Work 

I've watched many union 
strikes trying to prevent automa- 
tion. Yet studies have shown that 
the long-term results of industri- 
alization and automation have in- 
creased the number of jobs and 
made higher wages possible. The 
middle class came into its own as 



a result of the industrial revolu- 
tion. 

My visions of teaching ma- 
chines make some teachers irri- 
tated and panicky. While my con- 
cept of learning via teaching ma- 
chines could move most of the 
present-day studying into the 
home, I don't think it would re- 
duce the need for trained teach- 
ers. It would, I'm sure, make life 
a lot more enjoyable for them by 
removing much of the present- 
day drudgery of teaching. 

My concept is for the develop- 
ment of a combination videotape 
recorder and microcomputer sys- 
tem. The more common subjects 
such as arithmetic, geography, 
history, languages, physics and 
chemistry would be taught largely 
by these machines using full color 
movies . . . like the Nova series 
on Public Broadcasting. Each 
course would be taught by top 
people in the field, and it would 
be so interesting that a student 
would learn because it was fun 
and exciting, not because the stu- 
dent had been forced into class by 
law. The program would explain 
the subject, stopping every now 
and then to question the student. 
If there was an area of misunder- 
standing, the tape would go back 
to the problem area and show it 
again ... or could even go 
quickly to another place on the 
tape and give more details for 
slow learners. 

A teaching machine system 
would be geared to the speed of 
the student and would have infi- 
nite patience. It would quickly 



Centronics Quietwriter Sample 



The stylus is positioned per the instructions in the ROM by voice-coil- 
type action both vertically and horizontally. A third voice-coil controls 
the strength of the impression, making it possible to have from thin to 
heavy lines. Since the stylus writes like a ball-point pen, it is possible to 
make a program which will allow it to do regular handwriting. 



Centronics Quietwriter Sample 

Centronics Quietwriter Sample 
Centronics Quietwriter Sample 
Centronics Quietwriter Sample 

eAsAj ^^ iS^PS 

U&k^b %#£&£ &£#%£ 

Here we see the different sizes of type possible . . . plus a sample of 
Arabic and Chinese writing. 



6 Microcomputing February 1980 



obsolete present teaching systems 
where large groups of students all 
have to progress at the rate set by 
the slowest student in the class. 

With courses designed to inter- 
est and entertain, I think most 
students would cover many times 
the material they can today. Any 
special interests could be catered 
to. 

I envision a time when most of 
the copses presently taught in 
grammar school, high school and 
college will be developed for these 
teaching systems. If you think of 
it, a cost of $ 1 million or more for 
a single course will be inexpensive 
when the course will be used by 
millions of children. Once the 
courses are prepared, why can't 
we translate them into all other 
languages and use them to edu- 
cate the entire world? One teach- 
ing course could be used by stu- 
dents everywhere. 

This projection has turned 
teachers ashen. If all that teach- 
ing were done by computerized 
systems, where would teachers fit 
in? 

I think we'// need more teach- 
ers than ever to cope with the edu- 
cational needs of the future. I 
also think that the role of most 
teachers will be a bit different. 
But first, I think it is obvious that 
no matter how well crafted, a 
program is going to bring up stu- 
dent questions that will require 
individual attention. A question 
generally stops all further prog- 
ress until it is answered. 

My idea for handling this situa- 
tion is a two-way television circuit 
built into the teaching machine, 
probably through cable television 
or satellite direct communica- 
tions. This would allow the stu- 
dent to access a teacher and dis- 
cuss the problem. I suspect that 
one teacher could field questions 
from many students, particularly 
if the teacher specialized in one or 
two fields. With modern commu- 
nications, teachers could have 
their "studio" anywhere. 

I think there are definite limits 
to what can or cannot be taught 
via a video system, no matter how 
good it is. Students will still have 
to experience doing things. They 
will want to learn how to use 
tools. All of these things require 
some computerized educational 
time, some personal instruction 
and a lot of practice with the 
hardware. 

The teacher of the future, as I 
view it, will be kept busy educat- 
ing students in these physical 
things. We may split our days or 
weeks into parts so students can 
use hardware on a rotating basis 
. . . one or two days a week with 



a teacher and the lab work and 
the rest at the teaching machine, 
for example. This will allow 
everyone to learn more than is 
possible today, and as the list of 
skills being taught by teachers 
grows, so will the need for these 
teachers. 



You Can Win at Craps! 

I've been following most of the 
many books published on how to 
win at gambling games. Oddly 
enough, many are interesting and 
can be helpful. Anyone with 
some interest and the will to learn 
how can win at gambling and, at 
least until he is recognized by the 
casinos, make a good living at it. 
Casinos are business enterprises 
and are not amused by steady 
winners, so one's welcome wears 
out quickly. 

An integral part of the "sys- 
tem" for beating the casinos lies 
in your computer. You don't 
have to bring it with you or hook 
up one that will operate from 
your pocket. You have to learn 
how to gamble effectively and 
then practice with your computer 
until you have it down pat. It will 
take a good deal of practice, and 
you'll want to use one of our In- 
stant Software Casino packages, 
which is a reconstruction of casi- 
no gambling. 

You're impatient for the nitty- 
gritty, right? Obviously there is a 
secret involved; otherwise, peo- 
ple would be winning regularly at 
Vegas, which very few are. It 
takes a lot of losers to build those 
giant light extravaganzas de- 
signed to lure you into gambling 
dens. The streets of Vegas are 
paved with gold . . . yours. 

The "system" for winning can 
be applied to any of the games at 
Vegas, but since the fastest game 
is craps — and it is also the one 
that has a bet that is least benefi- 
cial for the house, this is your best 
bet. 

There are dozens of systems for 
betting at craps, and all have 
many believers. The systems have 
one factor in common: not one is 
foolproof. Most of them are 
based on starting small and 
doubling up when you lose a bet. 
The house has already thought of 
this and conveniently placed a 
limit on how much you can bet at 
one time, a level which, unfortu- 
nately, most systems quickly 
reach when the laws of chance 
momentarily seem suspended 
against you. 

One book goes deeply into the 



mathematics of gambling: Casi- 
no Gambling — Why You Win/ 
Why You Lose by Russell Barn- 
hart. It sells for $12.95 and is 
worth it. This book carefully ex- 
amines all of the popular gam- 
bling systems: the paroli, the 
great paroli, the martingale, the 
great martingale, Labouchere 
and reverse Labouchere, Bethell, 
D'Alembert, Cover, Blundell, 
Ascot, Fitzroy. They are all losers 
in casinos. 

To win at gambling, first famil- 
iarize yourself with the odds you 
are against. The house has no bets 
even slightly in your favor, but 
there are many variations in the 
odds — and there is a factor we 
think of as luck. Let's first look 
for the bets that give you the low- 
est odds for the house; then we'll 
look at how you can use "luck" 
to your advantage. 

I know you'll find this difficult 
to believe, but the familiar craps 
game layout is deceptive. As you 
look at it from the standpoint of 
odds you'll find that the larger 
the betting area and numbers, the 
worse the odds. The better odds 
are barely visible on the layout, 
and the best odds are not even in- 
dicated. These are the Lay The 
Odds and Take The Odds bets, 
which can bring your chances up 
to less than one percent against 
you. The Take The Odds bet 
leaves the house with a 0.85 per- 
cent advantage and the Lay The 
Odds bet is even lower at 0.83 
percent against you. It doesn't 
take much manipulation of luck 
to overcome this tiny advantage. 

That is the basic secret of win- 
ning at gambling: knowing the 
best odds and understanding how 
luck works and using it to win. 

Once you are familiar with the 
actual odds in craps you'll be 
amazed at the number of sup- 
posedly educated gamblers who 
make stupid bets. Some of those 
seemingly innocuous bets on the 
layout have better than a 16 per- 
cent advantage for the house. 
You'll keep the odds down best if 
you start with the normal Pass bet 
and then double it up with the 
Take The Odds bet. This gives the 
house only a 0.85 percent advan- 
tage. If you ignore luck entirely 
and just keep betting, you'll get 
the most play for your money 
with this combination before 
ending up broke. 

With the Pass bet you win right 
away if a natural, 7 or 11, is 
thrown. You lose if it's craps: a 2, 
3 or 12. Otherwise, you win if the 
thrower makes his point and lose 
if he does not. To make this bet 
you place your money in the Pass 
space, along the bottom. 



kilobaud 

MICROCOMPUTING 

PUBLISHER/EDITOR 

Wayne Green 

EXECUTIVE VICE PRESIDENT 

Sherry Smythe 

CORPORATE CONTROLLER 

Alan Thulander 

ASSISTANT PUBLISHER/EDITOR 

Jeffrey DeTray 

MANAGING EDITOR 

John Barry 

EDITORIAL ASSISTANTS 

Dennis Brisson 
Susan Gross 

ADMINISTRATIVE ASSISTANT 

Dotty Gibson 

PRODUCTION DEPARTMENT 

MANAGER: 
Noel Self 

ASSISTANT MANAGER: 

Robin Sloan 

STAFF: 

Steve Baldwin 

James Butler 

Robert Drew 

Bruce Hedin 

Ken Jackson 
Clare McCarthy 
Michael Murphy 

Dion Owens 

Nancy Salmon 

Patrice Scribner 

Susan Symonds 

John White 

TYPESETTING 

Barbara Latti 

Sara Bedell 
Rhonda Clapper 
Sandie Gunseth 

Mary Kinzel 

PHOTOGRAPHY 

William Heydolph 

Tedd Cluff 

Terrie Anderson 

Reese Fowler 

PROJECTS EDITOR 

Jim Perry 

BOOK EDITORS 

Chris Brown 
Emily Gibbs 

ASSOCIATE EDITORS 

Frank Derfler, Jr. 

Rod Hallen 

Peter Stark 

Sherm Wantz 

BOOKKEEPER 

Knud Keller 

SUBSCRIPTION SALES MGR. 

Debra Boudrieau 

MARKETING/CIRCULATION 

Harold Stephens 

Donna Taylor 
Judy Waterman 

BULK SALES MGR. 

Gtnnie Boudrieau 

COMPUTER PROGRAMMING 

Richard Dykema 

EUROPEAN MARKETING DIR. 

Reinhard Nedela 

AUSTRALIAN DISTRIBUTOR 

Katherine Thirkell 

— ADVERTISING — 

Aline Coutu, Mgr. 

Marcia Stone 

Penny Brooks 

Nancy Ciampa 

Louise Holdsworth 

Jerry Merrifield 

Lori Mugford 

Kevin Rushalko 

Phoebe Taylor 



T.M. 



Microcomputing February 1980 7 



The Take The Odds bet can be 
made if the thrower gets a point 
rather than throwing a natural or 
craps. Then you can double your 
Pass bet, placing the additional 
chips just outside the Pass box. If 
you win at this you get the actual 
odds from the house — a 50/50 
proposition — and the only such 
you can get in this game. This re- 
duces the odds against you from 
1.41 percent on the play to 0.85 
percent. The casino game on your 
computer should permit this type 
of bet; I know the Instant Soft- 
ware version does. 

Let's take a look at luck. If you 
don't believe in luck then you've 
never gambled or played cards. 
There is luck and, more impor- 
tant for us, it runs in streaks. If 
you spend much time playing or 
even watching craps (or any other 
game), you'll notice that the table 
will run "hot" for a while and 



then run "cold." At other times 
nothing much seems to happen 
one way or the other, then sud- 
denly the house will begin to win 
in a long string of throws as the 
table is cold. A while later a play- 
er or even a stream of players will 
be able to do no wrong, with 
passes mounting as high as ten or 
even fifteen before a craps. It is 
runs like this that devastate all the 
systems of increasing bets. 

In the long run, all evens out. 
There will probably be at least 
one run of 15 straight passes or 
craps every two or three months, 
and you can expect a run of ten 
around once a day . . . not bad 
odds unless it happens while you 
are doing the doubling up. 

Thus the winning strategy is to 
play it cool. Watch the tables and 
wait until one heats up — then bet 
modestly, taking the odds each 
time, counting on the run of luck 



to counter the slight mathemati- 
cal odds against you. You may 
want to increase your bets as you 
win, using the simple paroli sys- 
tem (1 + 2 + 4 + 8 -I- 16 + 32, etc.), 
a binary growth system. 

The foolish way to attack this is 
to take your money to Vegas and 
practice there ... at your ex- 
pense. Your computer can be a 
lifesaver. Set it up with the Casi- 
no program and start keeping 
track of the dice rolls, until you 
can sense when the dice are hot 
and when they are cold. Practice 
making your bets until you can 
consistently beat the game on 
your computer. Only when you 
are familiar enough with playing 
this system that you never lose are 
you ready to tackle the casinos. 

You should move around from 
casino to casino, not wearing out 
your welcome as you gather a 
thousand here, a thousand there. 



Help Wanted 

Nathaniel Hawthorne College 
is looking for someone to head its 
new microcomputing program. 
The college is putting together a 
complete microcomputing degree 
course and will need a top orga- 
nizer, with teaching credentials, 
and instructors, all with extensive 
microcomputing experience. 

Hawthorne, a private college in 
Antrim NH, is famed for its 
aeronautics curriculum. 

A college that teaches flying, 
and now microcomputing, is a 
great place to work. If you are in- 
terested and have the back- 
ground, drop a resume to Dean of 
Administration Merle A. Jones, 
Jr, Nathaniel Hawthorne Col- 
lege, Antrim NH 03440. He's 
anxious to start, so don't pro- 
crastinate. 



OUTPUT FROM IS! 



Sherry Smythe 



Reps 

A "rep" is a person who is in 
business for himself as a free agent 
and represents a manufacturer as a 
local salesman in his specific ter- 
ritory. 

In the case of Instant Software, 
this means there is a person whose 
job it is to visit every retailer of 
computers on a regular basis. This 
person makes sure that the store 
owner and salemen are aware of 
the latest in software packages and 
how to demonstrate and sell them. 
The rep helps set up displays, an- 
swer questions, provide guidance 
on sales techniques; expedites 
orders; solves problems and 
makes sure our software, books 
and magazines are in plentiful sup- 
ply and prominently displayed. 
This takes a lot of work off the 
shoulders of the store owner and 
puts us in close touch with what is 
happening. 

These reps have been coming 
from all over the country to the In- 
stant Software lab in Peter- 
borough for training on the sys- 
tems running there. Reps learn 
about the more popular ISI pro- 
gram packages, how they work 
and how to demonstrate them. 
They take a course in the history 
of and projections for microcom- 
puter hardware and software. 

These are difficult times for 
computer stores. Few have either 



the time or the background to sit 
down and test every software 
package on the market. There isn't 
even time to thoroughly check out 
the better advertised business 
packages. This means that stores 
either have to take chances that 
can hurt their reputations, or else 
they have to find a dependable 
software firm. The alternative to 
this mess is dealing with a firm that 
is not only completely depend- 
able, but that has representatives 
coming to call to help with prob- 
lems, should they arise. 



Software Sought 

While all of the programs so far 
published by ISI have been in 
cassette format, disk format pro- 
grams are being readied for distri- 
bution. Programmers with disk- 
based programs are being encour- 
aged to submit programs. 

We're looking for a lot more 
material for the Apple. You Apple 
people should assure it that the 
Apple is supported with pro- 
grams, particularly business pro- 



grams. That full-color facility can 
be put to excellent use in business. 

Another gold mine for pro- 
grammers lies in utilities. Some of 
those programs you worked out 
for your own use just might, with 
some debugging and detail work, 
plus documentation, make your 
hobby pay for itself. 

In deciding which software pub- 
lisher can do the best for you, re- 
member that the sales of your pro- 
gram depend on the reputation of 
the publisher and his distribution 
network. 



BOOK REVIEWS 



Software Interpreters for 
Microcomputers 

Thomas C. Mclntire 

John Wiley & Sons, New York 

233 pages, $18.95 

If you have always had an un- 
easy feeling about that "thing" in 
your computer referred to as an 
"interpreter," this book will allay 
your fear that something magical 
is happening inside. On the other 
hand, if you think your computer 
speaks BASIC as its native lan- 
guage, you may find this book un- 



wieldy. This does not mean the 
text is difficult to follow. As a new 
term is given the author defines the 
meaning so you do not become so 
swamped with terminology the 
concept becomes obscure. 

Interpreter is defined on page 1 
as "a software routine that, as 
processing progresses, translates a 
stored program expressed in 
pseudo-code into machine code 
and executes the intended opera- 
tions." To expand on this defini- 
tion, the author describes how an 
interpreter differs from a com- 
piler, and the advantages and dis- 
advantages of each. 



By the end of chapter 1 , the con- 
cept is clear. Chapters 2 and 3 
delve into the evolution of the mi- 
crocomputers and languages asso- 
ciated with them. Chapters 1 
through 3 comprise the back- 
ground needed to understand the 
necessary parts of interpreters. 

Interpreter architecture is the 
next major topic. It deals with in- 
terpreter types and storage re- 
quirements. The next two sections 
deal with the interpreter design ap- 
proach and design model. The 
word "design" is important be- 
cause this is not a cookbook for 
I writing an interpreter, but rather 



8 Microcomputing February 1980 



what you should be aware of when 
designing one. The basic skeletal 
structure is discussed, and some 
general flowcharts are provided to 
itemize the major decision blocks 
needed to parse BASIC. However, 
no specific code is given. The last 
section covers some "tricks of the 
trade" in terms of optimizing exe- 
cution speed and memory utiliza- 
tion. 

Those who have spent hours 
writing and debugging programs 
know that a lot of work goes into 
the program that is not obvious to 
the person using it. The interpreter 
is doing a lot of work for you as 
you write and run your program. 
Sometimes what you don't know 
can cause you to tear your hair out 
if the gremlins of an interpreter 
make themselves known. More in- 
genious (devious) programmers 
can turn these quirks into a useful 
tool, but don't depend on the 
quirks to work with another inter- 
preter! 

I would like to have seen includ- 
ed in this book a well-annotated 
4K 8080 or Z-80 assembly listing 
showing how to go from the gener- 
al design to the actual code to ac- 
complish the specific tasks. Many 
concepts can be grasped theoreti- 
cally, but at a nitty-gritty level, un- 
derstanding can fade quickly! 

I recommend this book to any- 
one who wants a better under- 
standing of what an interpreter is 
and what it does. Software Inter- 
preters is quite readable for those 
with a basic grasp of a program- 
ming language. If you are going to 
write an interpreter, you can save a 
lot of grief by knowing the design 
considerations beforehand. 

Jerry Martin 
Columbus OH 



Programming the 6502 

Rodnay Zaks, Sybex, Inc. 
Berkeley C A, 1978, $11.95 

Editors' note: Here's another look 
at Programming the 6502, which 
was originally reviewed in the July 
1979 issue. 

First, the bad news! Program- 
ming the 6502 is full of mistakes. 
There are about 1 50 of them in the 
book's 300 pages. The errata 
sheet, included with the book since 
May 1979, lists about half of these 
errors, but even it has some errors! 
Worse yet, the majority of the mis- 
takes are not simple typos — many 
are extensive, subtle and mislead- 
ing or untrue "facts" about the 
6502, which might only be discov- 
ered by a careful reader experi- 



enced with the 6502. Since the 
book was written primarily for the 
novice programmer, this presents 
a special problem. 

Rodnay Zaks has written excel- 
lent books in the past, such as Mi- 
croprocessor from Chips to Sys- 
tems and Microprocessor Interfac- 
ing Techniques (coauthored by 
Austin Lesea), both of which con- 
tained typos, but not the more 
serious errors found in Program- 
ming the 6502. Apparently, both 
Mr. Zaks and the publisher were in 
a hurry to cash in on the growing 
popularity of the 6502 and 
skimped on research and proof- 
reading. 

Now for the good news . . . 
well, at least the better news. The 
book is organized into eleven 
chapters and six appendices. It 
contains a broad coverage of mi- 
crocomputer programming, and 
6502 programming in particular, 
but most subjects are treated brief- 
ly. Since the book was aimed at the 
newcomer to programming, this 
might have been expected. How- 
ever, in some areas, I felt a more 
detailed treatment would have 
been helpful. Exercises sprinkled 
throughout the book are helpful to 
the reader if he attempts them. 

In chapter 1 ("Basic Con- 
cepts") the basics of programming 
are discussed, along with the inter- 
nal and external representation of 
data. Number systems and com- 
puter arithmetic are treated very 
briefly. Due to the importance of 
these topics to machine- and assem- 
bly-level programming (which is 
what this book is about), a more in- 
depth coverage here would have 
been helpful. 

Chapter 2 ("6502 Hardware Or- 
ganization") covers the hardware 
aspects of the 6502 that the pro- 
grammer needs to know. It is brief 
but adequate. Included are system 
architecture, internal register 
structure and the instruction ex- 
ecution mechanism. 

Chapter 3 ("Basic Program- 
ming Techniques") covers arith- 
metic and logical operations and 
subroutines. Single- and multiple- 
precision addition and subtraction 
in both binary and BCD are 
covered in detail with good ex- 
amples. Also, multiplication is ex- 
plained with a couple of well- 
documented and clever programs. 
This is one of the better chapters. 

Chapter 4 ("The 6502 Instruc- 
tion Set") first discusses instruc- 
tion sets, in general, with a good 
description of useful but usually 
unavailable instructions, and then 
discusses the 6502 instruction set. 
Included in this chapter is a page 
or more on each separate instruc- 
tion. The discussion of the BIT 



and CMP instructions is not ade- 
quate and may leave one confused 
about these instructions. 

Chapter 5 ("Addressing Tech- 
niques") superficially covers the 
addressing modes of the 6502. The 
6502 shines with 13 addressing 
modes, and a better treatment of 
this subject is needed. Worse yet, 
the already confusing indirect-in- 
dexed and indexed-indirect modes 
are further confused by the author, 
who gives no example of the in- 
dexed-indirect mode (although 
one example was incorrectly pro- 
posed to be for this mode). There 
was adequate information on the 
other modes. 

Chapter 6 ("Input-Output 
Techniques") is one of the better 
chapters. In most cases, it shows 
both hardware and software ap- 
proaches to a problem and dis- 
cusses the trade-offs involved. 
Topics covered include pulse gen- 
eration and detection, delays, par- 
allel and serial data transfers, poll- 
ing, handshaking, LED interfac- 
ing, Teletype I/O, interrupts and 
the BREAK instruction usage. 
The main fault in this chapter is 
under the topic of Simultaneous 
Interrupts. This subject is not dis- 
cussed — in fact, this subject is not 
covered at all. Instead, the topic is 
multiple or nested interrupts, and 
lacks in detail at that. 

Chapter 7 ("Input/Output De- 
vices") discusses the various sup- 
port chips in the 6502 family. It 
only mentions four of them and 
details only the 6520 PIO. An en- 
tire book could be devoted to each 
of the support devices, but this 
chapter only allows eight pages for 
all of them . . . need I say more? 

Chapter 8 ("Application Exam- 
ples") contains about a dozen 
"utility routines" or short useful 
programs with explanations. 
Some are rather clever, all make 
good examples; but a few are not 
explained well enough. Examples 
of the routines are: pulling I/O de- 
vices, character input, parity gen- 
eration, code conversion and find- 
ing the largest element of a table. 

Chapter 9 ("Data Structures") 
gives a brief but probably ade- 
quate treatment for the beginning 
programmer of pointers, sequen- 
tial lists, directories, linked lists, 
queues, stacks, blocks, circular 
lists, trees, searching and sorting. 

Chapter 10 ("Program Devel- 
opment") provides a good treat- 
ment of the program development 
process. It discusses machine-lan- 
guage, assembly language and 
high-level languages, and assem- 
blers, compilers, editors, loaders 
and debuggers. It covers the actual 
program development sequence, 
the various hardware alternatives 



(single-board microcomputers, 
hobby-type microcomputers, 
time-sharing systems) and then 
goes into a more detailed treat- 
ment of an assembler and the as- 
sembly process, including macros 
and conditional assembly. 

Chapter 11 ("Conclusion") is 
nothing more than a couple of 
pages of closing comments. There 
are also six appendices with some 
rather useful charts on the instruc- 
tion set, ASCII code and relative 
branching. 

I have been quite critical of Pro- 
gramming the 6502. The major 
drawback is the unbelievable num- 
ber of errors and the lack of detail 
in some important areas. I 
wouldn't recommend it to a novice 
programmer. A person familiar 
with the 6502 is bound to learn 
something from it, and it is chal- 
lenging, although irritating, to try 
to find all the errors. With all the 
corrections made, it would be a 
useful book, but certainly not the 
long-awaited answer to the 6502 
programmer's dreams. 

Jerry Petrey 
Ontario CA 



BASIC with Business 
Applications 

Richard W. Lott 
John Wiley & Sons 
New York 

This introductory BASIC text is 
written with time-sharing users in 
mind. I get the impression that the 
examples were run on a DEC com- 
puter, but this doesn't really mat- 
ter. Virtually everything in the 
book can be run unchanged by the 
average BASIC-speaking person- 
al-computer system. 

The book is divided into two 
parts. The first is a fairly conven- 
tional introduction to BASIC 
which presents all the major state- 
ments in the language and intro- 
duces elementary programming 
structures such as loops. The sec- 
ond part is a series of sample pro- 
grams and problems using BASIC 
to solve some mathematically ori- 
ented business problems. These in- 
clude interest rate calculations, 
budgeting, financial math, depre- 
ciation calculations and taxes. The 
applications do not assume that 
the reader knows how to do finan- 
cial math without a computer, but 
this knowledge is obviously useful 
if you are to apply the programs. 
In other words, the text teaches 
you how to solve the problems, 
but not when to solve them. 

(see REVIEWS, page 20) 



Microcomputing February 1960 9 



ASK FOR THINKER TOY ,m PRODUCTS AT YOUR LOCAL DEALER NOW 



ARIZONA 

*Computerland of Phoenix 
3152 East Came I back 
Phoenix, AZ 85016 
(602) 956-5727 

ARKANSAS 

Microsystems 
1000 North 2nd Street 
Rogers, AR 72756 
(501)636-8103 

CALIFORNIA 

Computer Center, Inc. 
1514 University Avenue 
Berkeley, CA 94703 
(415)845-6366 

Queue Computers 
1044 University Avenue 
Berkeley, CA 94710 
(415)845-5300 

'Computerland of El Cerrito 
1 1074 San Pablo Avenue 
El Cerrito. CA 94530 
(415) 233-5010 

P. C. Computers 
10166 San Pablo Avenue 
El Cerrito. CA 94530 
(415)527-6657 

Bingham Electronics 
100 Vallecitos Way 
Los Gatos, CA 95030 
(408)395-0010 

A.C.C. — George Markle 
505 Cypress Point Dr. #38 
Mt View, CA 94043 
(415)969-4969 

Digital Deli 

80 West El Camino Real 

Mt View, CA 94040 

(415)961-2670 

Micro Data Collection 
128 Caribe Isle 
Novato, CA 94947 
(415)883-9255 

Micro Marketing 
2341 San Pablo Avenue 
Oakland, CA 94612 
(415)763-7108 

Byte Shop of Palo Alto 
2233 El Camino Real 
Palo Alto. CA 94306 
(415)327-8080 

Byte Shop of Placentia 
123 Yorba Linda 
Placentia. CA 92670 
(714)524-5380 

Redding Computer Service 
610 West Cypress Avenue 
Redding. CA 96001 
(916)246-1170 

Electronics Enterprises 
6606 Fifth Street 
Rio Linda. CA 95673 
(916)991-2010 

Capitol Computer Systems 
3396 El Camino 
Sacramento, CA 95821 
(916)483-7298 

Logic Systems 

5717 Bryce Canyon Road 

Sacramento, CA 95842 

(916)331-7176 

Design Technology 
4888- H Ronson Court 
San Diego, CA92111 
(714)268-8194 

Triac 

555 Clay Street 

San Francisco, CA 9401 1 

(415)981-0290 

Micro Byte Computers 
2626 Union Avenue 
San Jose. CA95124 
(408) 377-4685 

Computer Demo Room 
509-B Francisco Blvd. 
San Rafael. CA 94901 
(415)457-9311 

Adv Computer Products 
1310 East Edinger 
Santa Ana. CA 92705 
(714)558-8813 

Affordable Computers 
3400 El Camino Real 
Santa Clara. CA 95051 
(408)249-4221 

Integrated Comp Systems 

3304 Pico Blvd. 

Santa Monica. CA 90405 

(213)450-2060 

Micro-Sun 

2989 North Main Street 

Walnut Creek, CA 94596 

(415)933-6252 

Stuart O Adler 

Comp. Systems Consultant 

23035 Gainford Street 

Woodland Hills, CA 91364 

(213)884-0366 



COLORADO 

Colorado Computers 
312 East Mulberry Street 
Fort Collins, CO 80524 
(303) 493-6878 

Computer Technology 
631 1 North Federal Blvd. 
Denver, CO 80221 
(303)427-4438 

Westron International Corp. 
2050 South Oneida, 
Suite 106 
Denver, CO 80224 
(303) 758-6448 

CONNECTICUT 

Compumed Systems 
219 Suffield Village 
Suff ield, CT 06078 
(203)668-0780 

Computerworks 
Liberty Plaza 
1 439 Post Road East 
Westport, CT 06880 
(203) 255-9096 

Technology Systems 
208 Greenwood Avenue 
Bethel, CT 06081 
(203) 748-6856 

The Computer Lab, Inc. 
130 Jefferson Avenue 
New London, CT 06320 
(203)447-1079 

FLORIDA 

Byte of Miami 
7825 Bird Road 
Miami, FL 33155 
(305) 264-BYTE 

Computer Age 

1308 North Federal Highway 

Pompano Beach. FL 33062 

(305)946-4999 

Byte Shop of Ft. Lauderdale 
1044 E Oakland Park Blvd. 
Ft. Lauderdale, FL 33334 
(305)561-2983 

Computer Center of the 

Palm Beaches 
2827 Exchange Court 
W. Palm Beach, FL 33409 
(305)689-3233 

Digital and Analog Systems 
2181 N Guillemard Street 
Pensacola. FL 32501 
(904) 432-5548 

Microcomputer Systems 
144 South Dale Mabry Hiwy 
Tampa, FL 33609 
(813)879-4225 

Sara Tech Electronics, Inc. 
248 West Tampa Avenue 
Venice, FL 33595 
(813)485-3559 

ILLINOIS 

BIES Systems 
7037 W. North Avenue 
Oak Park, I L 60302 
(312)386-3323 

Byte Shop of Champaign 
1602 South Neil Street 
Champaign. IL 61820 
(217)352-2333 

'Computerland of Peoria 
4507 North Sterling 
Peoria. IL 61614 
(309) 688-6252 

Computer Station 
3659 Nameoki Road 
Granite City. I L 62040 
(618)452-1860 

lllini Microcomputers 
612 East Ogden Avenue 
Naperville. IL 60540 
(312)420-8813 

Lash Electronics 
315 Gary Avenue 
Wheaton, I L 60187 
(312)665-0484 

Lillipute Computer Mart 
4446 Oakton Street 
Skokie. I L 60076 
(312)674-1383 

Midwest Microcomputers 
708 South Main Street 
Lombard. I L 60 148 
(312)495-9889 

Park Rose Hedge, Inc. 
808 Austin Avenue 
Park Ridge. I L 60068 
(312)825-4899 

INDIANA 

Data Domain 
221 West Dodds 
Bloomington. IN 47401 
(812)334-3607 

KANSAS 

Computer Center 
5815 Johnson Drive 
Mission. KS 66202 
(913)432-BYTE 



Computer Systems Design 
906 North Main 
Wichita. KS 67214 
(316)265-1120 

KENTUCKY 

ALCOCOMP 
326 Leonard Court 
Danville. KY 40422 
(606)236-1712 

MAINE 

Omicron Systems 

2 Dumais Ave, Plywood Bldg. 

Lewiston. ME 04240 

(207)783-9690 

MARYLAND 

Bit-Wit. Inc. 

131 18 Glasgow Way 

Ft. Washington, MD 20022 

(301)292-5066 

The Computer Workshop 
1776 East Jefferson 
Rockville, MD 20852 
(301)468-0455 

MASSACHUSETTS 

Computer Mart, Inc. 
1395 Main Street 
Waltham. MA 02 154 
(617)899-4540 

Comp. Shop of Cambridge 
288 Norfolk Street 
Cambridge, MA 02 139 
(617)247-0700 

MICHIGAN 

American Computers 
4132 North Woodward 
Royal Oak. Ml 48073 
(313)549-2870 

Computer Mart of Michigan 
560 West 14 Mile Road 
Clawson, Ml 48017 
(313)576-0900 

Micro Computer World 
313 Michigan N E 
Grand Rapids, Ml 49503 
(616)451-8972 

Neal & Associates 
4215 Shetland Drive 
Ann Arbor. Ml 48104 
(313)973-0979 

MINNESOTA 

Microprogramming, Inc. 
1351 Larc Industrial Blvd 
Burnsville. MN 55337 
(612)894-3510 

MISSOURI 

BODAP 

1505 Soest Road 

Rolla, MO 65401 

(314)364-2525 

Computer Country 
235 Dunn Road 
Florissant, MO 63031 
(314)921-4433 

Integrated Design Eng 

836 Virgo 

Saint Louis. MO 631 25 

(314)638-3497 

MONTANA 

Compumont, Inc. 
6416 Davis Lane 
Bozeman. MT 59715 
(406)587-1375 

NEBRASKA 

Omaha Computer Store 
4540 South 84th Street 
Omaha, NE 68127 
(402) 592-3590 

NEVADA 

Computer Center 
615 South Rock Blvd. 
Sparks, NV 89431 
(702)359-7022 

NEW JERSEY 

Applied Computer Research 
445 Brick Blvd 
Bricktown, NJ 08723 
(201)477-4222 

S-100, Inc. 
7 White Place 
Clark. N J 07066 
(201)382-1318 

The Computer Emporium 
Ave of Commerce, Bldg 103 
2428 Route 38 
Cherry Hill, NJ 08002 
(609) 667-7555 

The Computer lab of NJ 
538 Route 10 
Ledgewood. NJ 07852 
(201)584-9556 

NEW YORK 

Byte Shop East 
1 30 East 40th Street 
New York. NY 10016 
(212)889-4204 

The Computer Corner 
200 Hamilton Avenue 
White Plains. NY 10601 
(914) 949-3282 



Computer Enterprises 
P.O Box 71 
Fayetteville. NY 13066 
(315)637-6208 

Computer Shop of Syracuse 
3470 Erie Blvd. East 
DeWitt. NY 13214 
(315)446-1284 

Home Computer Center 
671 Monroe Avenue 
Rochester, NY 14607 
(716)244-6237 

Mini Micro Mart 
1618 James Street 
Syracuse. NY 1 3203 
(315)422-4467 

Rad-Com, Inc. 
122 Library Lane 
Mamaroneck, NY 10543 
(914)698-6800 

The Computer Factory 
485 Lexington Avenue 
New York, NY 10017 
(212)687-5001 

NORTH CAROLINA 

American Square Comp. 
Rt. 1 Box 56 Kivett Drive 
Jamestown, NC 27282 
(919)883-1105 

Carolina Business Comp. 
350 Third Avenue N W 
Hickory, NC 28601 
(704)328-3939 

Computer Works 
2514 University Drive 
Durham, NC 27707 
(919)489-7486 

OHIO 

Cincinnati Computer Store 
4816 Interstate Drive 
Cincinnati, OH 45246 
(513)874-0600 

'Computerland of Cleveland 
1288 SOM Center Road 
Mayfield Heights. OH 44124 
(216)461-1200 

'Computerland of Columbus 
6429 Bosch Blvd. 
Columbus. OH 43229 
(614)888-2215 

Computer Store of Toledo 
18 Hillwyck Drive 
Toledo, OH 43615 
(419)535-1541 

Data Tronics 
1671 Timmy Drive 
Hamilton, OH 45011 
(513)874-0001 

Electronic Instrument Lab 
(Medical Systems Only) 
30280 Lorain Road 
North Olmstead. OH 44070 
(216)779-7766 

PENNSYLVANIA 

Byte of Pennsylvania 
1045 Lancaster Avenue 
Bryn Mawr, PA 19010 
(215)525-7712 

Marketline Systems, Inc. 
2337 Philmont Avenue 
Huntingdon Valley, PA 19006 
(215)947-6670 

TEXAS 

East Texas Computers 
305 Clemson Drive 
Tyler. TX 75703 
(214)561-2635 

Microbyte-Abacus 
2218 Crawford 
Houston. TX 77002 
(713)757-1128 

Micro Mike's 
905 South Buchanan 
Amarillo. TX 79101 
(806) 372-3633 

UTAH 

'Computerland of 
Salt Lake City 
161 E 2nd Street South 
Salt Lake City, UT84111 
(801)364-4416 

VIRGINIA 

'Computerland of 
Tysons Corner 
841 1 Old Courthouse Road 
Vienna. VA 22180 
(703) 893-0424 

Home Computer Center 
12588 Warwick Blvd. 
Newport News. VA 23606 
(703)595-1955 

Megabyte Computer Asso. 
700 Newton Road #7 
Norfolk. VA 23502 
(804)461-3079 

The Computer Place 
2718 Colonial Avenue S W 
Roanoke, VA 24015 
(703)982-3661 



Tyson s Computer Emporium 
1984 Chainbridge Road 
McLean, VA 22101 
(703)821-8333 

WASHINGTON 

'Computerland SKC 
1 500 South 336th Street 
Federal Way, WA 98003 
(206) 927-8585 

Personal Computers, Inc. 
South 104 Freya 
Spokane, WA 99202 
(509) 534-3955 

WISCONSIN 

'Computerland of Milwaukee 
10111 West Capitol Drive 
Milwaukee. Wl 53222 
(414)466-8990 

DMA 

545 Meadow Lane 

Sheboygan Falls. Wl 53085 

(414)467-6006 

Comutrek Business Comp. 
6944 N. Port Washington Rd. 
Milwaukee. Wl 53217 
(414)351-3525 

Shah Electronics 
1050 Regent, Suite 202 
Madison, Wl 53715 
(608)257-5851 



AUSTRALIA 

Automation Statham Pty Ltd 
47 Birch Street 
Bankstown, NSW 2200 
Australia 
(02)709-4144 

Micro Shop 

Box 207 

Gawler. S Australia 5118 

BELGIUM & FRANCE 

Pulsion 

Avenue Albert Mahiels, 

13/081 

B-4020 

Liege, Belgium 

CANADA 

Byte Shop of Montreal 

3702 Cote Vertu 

St. Laurent, Quebec, Canada 

(514)331-2666 

The Byte Shop of Vancouver 
2151 Burrard Street 
Vancouver, B.C. 
Canada V6J 3H7 
(604)736-0511 

Compumart 

411 Roosevelt Avenue 

Ottawa, Ontario 

Canada K2A 3X9 

(613)725-3192 

Custom Computing Systems 
204 2nd Avenue North 
Saskatoon, Sask. 
Canada S7K 2 B5 
(306) 242-7808 

Dynamic Information Tech. 
94 Prince William Street 
St. John. N.B. 
Canada E2L4R9 
(506)657-6520 

Home Computer Centre 
6101 Yonge Street 
Willowdale. Ontario 
Canada M2M 3 W2 
(416)222-1166 

Micro Applications 
1533 Kent Avenue 
Port Coquitlam. B.C. 
Canada V3B 2 L7 
(604)942-4108 

Micro Computer Devices Ltd 
27 Heritage Place 
Regina. Sask. 
Canada S4S 2Z7 
(306) 586-6443 

Orthon Computer Company 
12411 Stony Plain Road 
Edmonton, Alberta 
Canada T5N 3 N3 
(403)488-2921 

S. B S Computer Shop 
41 Belgreen Avenue 
Agincourt, Ontario 
Canada M1S 1G3 
(416)241-4334 

ENGLAND 

Interam Computer Systems 
59 Moreton Street 
Victoria, London 
England SW1V2NY 

NewBear Computing Store 
40 Bartholomew Street 
Newbury. Berkshire 
England RG14 5LL 



S-Systems 
9 Goffs Close 
Crawley. Sussex 
England 

FRANCE 

Soft Company 
104 Rue Reaumur 
Paris 2 
France 

GREECE 

Computer Appli. Consul. 
Mesogion 230 
Athens 
Greece 

HONG KONG 

Professional Elect. Corp. 
13 Ferry St., Ground Floor 
Kowloon, Hong Kong 
3-301513 

ITALY 

Compitant 

Via Vittorio Emanuele III 

91021 Campobello Do 

Mazara 
Italy 

JAPAN 

Super Brain, Inc. 

Akihabara 

Radio Kaikan — 7F 

1-15-16 Sotokanda 

Chiyoda-Ku, Tokyo, Japan 

Microboards 
1-7-1-1003 Saiwai-Cho 
Chiba City, Chiba 260 
Japan 
0472(47)3081 

MEXICO 

Microton, S.A. 
San Bonifacio 457 
Vallerta Cuahtemoc 
Guadalajara. Jal . Mexico 

PUERTO RICO 

Rona Electronics 
86 Alahambra Street 
Mayaquez 
Puerto Rico 00708 

SINGAPORE 

Datatronics Re Ltd 
PSA Multi-Storey Complex 
Block 3. Unit 631 
Pasir Panjang Rd. 
Singapore 5 

Sys-Tech Re Ltd 
556 B Rochor Centre 
Rochor Road. Singapore 7 
2927645 

SWEDEN 

A B Datatel 
Box 30 
SE 29301 
Olofstrom, Sweden 

SWITZERLAND 

Eurex Ltd 

Beinwilerstrasse 136 
Basel CH 4053 
Switzerland 

VENEZUELA 

Sisconel CA. 
P.O Box 76371 
Caracas 107 
Venezuela 

WEST GERMANY 

Commandus KG 
Fasanenstr. 67 
1000 Berlin 15 
West Germany 

Computershop GMBH 
Unterortstrasse 10 
D 6236 Eschborn 
West Germany 

R R. Elect Heidelberg 
Adlerstrasse No 55 
6900 Heidelberg #1 
West Germany 



Thinker 
Tbys 



^T28 



'ThmKer Toy™ Products may 
be purchased from all 
Computerland™ stores 
worldwide 



10 Microcomputing February 1980 




riMMIMn 



t ^v 



Tiring 



If If If I 



rrfTITI 

I ii^ - L 



DISC BY PA S S Q 



fiiiffirii 



1 1 1 1 r f i r r 



74 1 t- "2 •* 1 









ahtt IV78 O »v*o« 



I 111 1 11111 I % 



^m 



J*. 



Illlllll 1 


1 1 Jil 1 J^M MM i 1 1 1 | 


... ... 


i -"" ■ ' ! 



• * J 



I II 



4*1 



- - Illlllll Illlllll Illlllll 



tiiiiui iiiiiiii inn 



lit — * 



Illlllll 





iiiiuiiiiimnii 




MM16K/S349 = 2.1C 



MM24K/$499 = 2C 




iiimiiiiimiiiitiHiiimiiiiiiiiiiiniii 



iiii 


UtiltllltlUill 


mimiumy 


WM 


:::. i::; . 



SR16K/$299 = 1.8C 



SR32K/$649 = 2C 



Now you can afford to sink your teeth into 
some big, feature-packed static memories. 
Because George Morrow's ultra-efficient 
designs have brought S-100 memory down to 2C 
a byte. 

Introducing Morrow's new "Memory Master" 
Bank Select Logic memories, the top of the 
SuperRam™ line. 

The SuperRam™ MemoryMaster 16K Static may 
be the most sophisticated S-100 memory at any price. 
The MM16K is switch-programmable to write-protect 
any of the four 4K blocks ... or to open invisible IK 
"windows" to accommodate VDM's or disk 
controllers. An on-board I/O device and jumper block 
allow you to use the memory-extending Bank 
Select Logic features of your software. 

Yet, the SuperRam™ MemoryMaster 16K kit is 
just 2.1C a byte at $349. Assembled and tested, $399. 
The SuperRam™ MemoryMaster is also available 
in 24K configuration: 3 individually write-protect able 
8K blocks with Bank Select Logic capability. 
MM24K Kit, $499. Assembled and tested, $549. 



Or, get your memory at a rock-bottom 1.8C a 
byte with the SuperRam™ 16K Static. It gives you 4 
individual 4K blocks . . . plus the ability to switch- 
enable the Phantom Line for power-up sequencing. 
Kit, $299. Assembled and tested, $349. 

But if you really need a big helping of memory, 
the SuperRam™ 32K Static serves up two individual 
16K blocks for 2C a byte: $649 in kit. Assembled and 
tested, $699. 

Whichever Morrow memory suits your taste, it 
wffl run perfectly in 2 MHz 8080, 4 MHz Z-80 or 
5 MHz 8085 systems. And meets the Proposed 
IEEE S-100 Standard. 

2C a byte ! That's food for thought. And they're 
ready to take out at your local computer shop. Or if 
not, we deliver. Write Thinker Toys™ 5221 Central 
Ave., Richmond CA 94804. Or call 415-524-2101 
(10-4 P&cificTime any weekday). 



Morrow Designs 



9 

Thinker 



*^T28 



Tqys 



TM 



NEW PRODUCTS 



Edited by Dennis Brisson 



HARDWARE 



Smart CRT Terminal 

The ADM-42 is a video display 
terminal with total flexibility of 
format, editing, interface and 
transmission from Lear Siegler, 
Inc., 714 N. Brookhurst St., 
Anaheim CA 92803. It comes 
standard with two 1920 character 
pages of memory that can be op- 
tionally expanded in two-page in- 
crements to eight full pages, 
which have independent Protect, 
Write/protect, Program mode 
and Cursor retention characteris- 
tics that are automatically re- 
tained in the terminal's memory 
for recall when the user pages to 
another screen of data. 

The ADM-42 features a de- 
tachable keyboard with upper- 
case and lowercase, numerics, 
punctuation, control, numeric 
keypad and 16 function keys, 
which are shiftable to initiate 32 
specific functions external to the 
terminal and blinking, blanking 
and reverse video visual attri- 
butes. Programmable function 
keys are also available. The ter- 
minal features a high-resolution, 
15 inch diagonal display screen 
with characters arranged in 24 
rows of 80 characters and a 7 x 9 
dot matrix. A 25th line is also 
provided exclusively for terminal 
status indicators and messages up 
to 79 characters. Price is $1795. 
Reader Service number SI 27. 




Interface for the Axiom printer. 



Axiom Printer Interface 

Now you can plug the Axiom 
printer right into your TRS-80, 
Apple II or PET microcomputer 
and start printing with no modifi- 
cation to hardware or software. 
The built-in interfaces for Ax- 
iom's EX-800 series of micro- 
printers and microplotters come 
with cable and connector. 

Model EX-801 microprinter 
has uppercase and lowercase al- 
phanumeric characters plus the 
graphic symbols used by the 
TRS-80, Apple II and PET. The 



The CA T. 




EX-820 microplotter provides 
precise alignment for both hori- 
zontal and vertical dot patterns 
for a true hard copy of computer- 
generated graphics. The compact 
printer operates at up to 160 char- 
acters per second and offers users 
the choice of three character sizes 
to provide 80, 40 or 20 columns. 
The EX-801 with interface is 
$535, while the EX-820 is $895. 

Axiom Corporation, 5932 San 
Fernando Road, Glendale CA 
91202. Reader Service number 
A110. 



with the EGOS operating system, 
IK RAM for 64x64 or 64x128 
color graphics and the instruction 
manual. 

Percom Data Company, 211 
N. Kirby, Garland TX 75042. 
Reader Service number P87. 



The ADM-42. 



Electric Crayon 

The Electric Crayon is a con- 
trol microcomputer with an inte- 
gral video display generator. The 
self-contained system includes 
RAM, ROM, a microprocessor, 
the video display generator 
(VDG) and other components re- 
quired for stand-alone control 
applications, but it may also be 
used with any computer with a 
parallel 8-bit I/O port. 

The Electric Crayon communi- 
cates—with handshaking— to 
other devices through any one of 
its four bidirectional 8-bit ports. 
The VDG circuit allows genera- 
tion of both alphanumeric and 
graphic displays for "painting" 
animation characters, graphs, 
charts, messages and other dis- 
plays on a color TV monitor. 

The Electric Crayon includes 
Percom 's ROM-based graphics 
operating system, EGOS, which 
communicates with the TRS-80 
Level II BASIC language and 
may be easily adapted for other 
BASIC dialects. Price is $184.95 
for the Electric Crayon, together 



Acoustic Modem 

The CAT, an acoustic modem 
weighing 1.5 lbs., has been intro- 
duced by Novation, Inc., 18664 
Oxnard St., Tarzana CA 91356. 
This 300 baud answer/originate 
EIA RS-232C modem is engi- 
neered to transmit data over all 
telephone lines, is Bell 103 com- 
patible and has an ac wall-mount 
transformer. 

The contemporary, low-profile 
(2.3 inches) case features switches 
for mode selection and opera- 
tion, as well as LEDs for display- 
ing unit status. Acoustic self-test 
is standard. The compact power- 
pack plugs directly into wall sock- 
ets, reducing heat and voltage 
hazards in the unit. There are no 
dangerous voltages inside the 
CAT. Price is $199. Reader Ser- 
vice number N30. 



Surge and 
Transient Protection 

The Isolator is composed of 
three individually filtered three- 
prong ac sockets with integral 
surge suppression. With each 
socket isolated from the other 
sockets, equipment interactions 
are eliminated, yielding error- 
free and glitch-free operation. 



12 Microcomputing February 1980 




The Isolator. 



The Isolator is particularly valu- 
able for isolating the micropro- 
cessor from peripherals as well as 
isolating disruptive line hash and 
damaging power line surges. 

Connecting to the 120 V ac line 
with a standard three-prong plug, 
the Isolator can accommodate an 
1875 Watt total load, with each 
socket capable of handling a 1000 
Watt load. Price is $54.95. 

Electronic Specialists, Inc., 
171 South Main St., Natick MA 
01760. Reader Service number 
E36. 



32K for 6800/6809 

Gimix, Inc., 1337 West 37th 
Place, Chicago IL 60609, an- 
nounces a fully static 32K RAM 
board for the SS50 (6800) and 
SS50C (6809) bus. The board fea- 
tures four independently DIP- 
switch addressable 8K blocks. 
Each block can be addressed to 
any 8K boundary or disabled. 
The board is capable of decoding 
the four additional address lines 



of the SS50C bus to allow mem- 
ory decoding up to 1 megabyte. 
DIP switches enable or disable 
the extended addressing and set it 
to one of 16 possible banks. 

Designed for high noise immu- 
nity, the board uses low-power 
2114L RAM chips and typically 
draws 2 Amps for 32K. It comes 
fully socketed and has gold bus 
connectors. Prices are $548.15 
(32K), $328.12 (16K) and $438.14 
(24K). Reader Service number 
G28. 



High-Speed Serial Printer 

The Model DS180 is a dot ma- 
trix serial printer that prints at 
180 cps using bidirectional, logic- 
seeking control of the carriage. 
Under microprocessor control, 
the printhead automatically per- 
forms high-speed tabs over blank 
space in the text and takes the op- 
timum path to the next printable 
character. Throughput is 500 1pm 
at 10 characters per line and 75 
lpm at 132 characters per line. 




Gimix *s 32K RAM board. 



The DS180 uses a 9x7 matrix 
to generate the 96-character 
ASCII set with true descenders. It 
prints 132 column lines at 10 cpi 
with selectable, expanded 
characters at 5 cpi. Standard fea- 
tures include top of form, hori- 
zontal and vertical tabs, perfora- 
tion skip-over and auto line feed. 
Standard interfaces include RS- 
23 2C, current loop and Centron- 
ics-compatible parallel. 

All printer parameters are pro- 
grammable from an integral key- 
pad or via the data stream. A spe- 
cial nonvolatile memory retains 
these settings even when power is 
switched off. A terminal status 
panel with a programmable LED 
display is used for setting the for- 
mat and performing diagnostic 
routines. Price is $1295. 

Datasouth Computer Corp., 
627-F Minuet Lane, Charlotte 
NC 28210. Reader Service num- 
ber D65. 



EPROM Programmer 
for the AIM-65 

The Model 6516 Programmer, 
a simple-to-use 2716 EPROM 
programmer for the Rockwell 
AIM-65 computer, provides all 
hardware necessary to program 5 
volt 2716s, including a zero inser- 
tion force programming socket. 
Additional sockets allow execu- 
tion of 8K bytes of user pro- 
grammed EPROM. Easy inter- 
face to the AIM-65 is provided by 
both a 44-conductor female con- 
nector, which allows direct con- 
nection to the AIM-65 expansion 
connector, and a 44-conductor 
male edge connector, which al- 
lows the programmer to plug into 
expansion motherboards. 

An interactive monitor ROM 
contains all routines necessary to 
not only program EPROMs, but 
also provide many other useful 
functions. Monitor commands 




6516 Programmer. 

include program, compare, 
transfer, erase, fill, move and 
load. Price is $149. 

Cubit, 897 Independence Ave., 
Building 4A, Mountain View CA 
94043. Reader Service number 
C178. 



Parallel/Serial I/O Card 
with Modem 

The Model 8P2SM-C Parallel/ 
Serial I/O (input/output) card 
with modem provides eight paral- 
lel bidirectional data ports (64 
I/O bits) with full handshaking 
and interrupt handling (another 
16 I/O bits). In addition, there 
are two serial input and output 
ports. The user can configure one 
set of serial ports for full RS-232 
operation, and the other as a full 
duplex answer or originate mo- 
dem or byte standard cassette in- 
terface. 

The board can be set up for 
either memory-mapped or port- 
mapped I/O and will work in any 
Z-80, 8080, 6800, 6802, 6809, 
6502 or 8085 system with the 




The 8P2SM. 



Microcomputing February 1980 13 




WF? ■ a \ ' : -* 



Fast-scan video digitizer. 



S-100 bus. A complete documen- 
tation package is included with 
the board. Price is $149, kit, and 
$199, assembled. 

MicroDaSys, PO Box 36051, 
Los Angeles CA 90036. Reader 
Service number Ml 10. 



Video Digitizer 

A fast-scan video digitizer that 
operates on data from a video 
camera is available from Vector 
Graphic, Inc., 31364 Via Colinas, 
Westlake Village CA 91361. The 
new device, for S-100 bus com- 
puters, converts output from the 
camera — or other source of com- 
posite—into 8-bit gray-scale 
digital information. 

Data can be transferred via 
software to either a memory- 
mapped high-resolution video 
board or to main memory for 
subsequent retrieval. A complete 
driver program, implementing 16 
shades of gray, is included for 
controlling the board, displaying 
images on a high-resolution video 
board, storing images on disk and 
printing images on a matrix print- 
er. Maximum horizontal resolu- 
tion is approximately 700 points 
per line. Vertical resolution of- 
fers 480 lines per image (normal). 
Price is $175. Reader Service 
number V10. 



PUBLICATIONS 



TRS-80 Catalog 

"The Expanding World of 
TRS-80," Radio Shack's TRS-80 
Microcomputer Catalog RSC-3, 
includes complete, up-to-date in- 
formation on both Model I and 
Model II TRS-80 microcomputer 



systems. The free, 24-page, full- 
color catalog lists such peripher- 
als and accessories as five-line 
printers, disk expansion units, a 
voice synthesizer, system desk, 
dust covers, carrying cases and 
software, including more than 50 
ready-to-run programs. 

Detailed specifications shown 
in the new catalog include a 
TRS-80 system selection guide, 
comparison charts for Level I and 
Level II BASIC, a description of 
Disk BASIC and TRSDOS oper- 
ating systems for Model II. 

Radio Shack, 1300 One Tandy 
Center, Fort Worth TX 76102. 



Tool Catalog 

Catalog 62H-1979 is the largest 
catalog of wire-wrapping tools 



and other electronic assembly 
tools and parts from O.K. Ma- 
chine and Tool Corp., 3455 Con- 
ner St., Bronx NY 10475. This 
free, 20-page catalog features the 
new PRB-1 10 ns Logic Probe on 
the cover and contains a broad 
range of products and specifica- 
tions of interest to industrial and 
hobby users alike. Reader Service 
number 05. 



SOFTWARE 



BSTAM 

The Byrom Software Telecom- 
munications Access Method 
(BSTAM) enables transmission 
of program or data files between 
any two computers on which 
BSTAM is installed and is com- 
patible with all 8080/Z-80 sys- 
tems using CP/M operating sys- 
tems or a derivative. Transmis- 
sions are made over a normal 
voice grade telephone line at 300 
baud and over direct wire inter- 
connections at 9600 baud. 

BSTAM has the capability to 
precisely transfer data over poor 
circuits, with automatic retry 
provisions and perfect reporting 
in the event of "hard" errors. 
The user interface provides for 
wild-card expansion of file 
names, permitting a sequence of 
files up to a whole diskette to be 
sent — the sending module auto- 
matically announcing the file 
names to the receiving computer. 



Interfaces to the UART/USART 
may be user installed. Sample 
drivers for 8250, 825 1 , 6850 and 
other UARTs are provided. 

BSTAM is supplied on diskette 
in all popular formats. The li- 
cense fee of $150 covers installa- 
tion on the single system only. 
The documentation is available 
separately for $5. 

Lifeboat Associates, 2248 
Broadway, New York NY 10024. 



Magic Wand 

The Magic Wand Word Pro- 
cessing System turns an 8080-, 
Z-80- or 8085-based computer in- 
to a versatile word processor. The 
system, which utilizes the CP/M 
operating system, consists of a 
text editor and print processor. 
The editor runs on any serial or 
DMA terminal and includes full- 
screen cursor manipulation, 
global search and replace, block 
manipulation, library (merge) 
files and spool (background) 
printing. The print processor 
works on both standard and 
specialty printers and includes 
flexible pagination and margina- 
tion, automatic headings and 
footings, underscoring, boldfac- 
ing, sub/superscripting and 
variable pitch control. 

The Magic Wand offers vari- 
ables and external data files (for 
easy form letter generation), con- 
ditional commands and true pro- 
portional printing utilizing a pro- 
portional print wheel on a spe- 




CATALOG 62H -1979 

IN WIRE WRAPPING 
®> HAS THE LINE... 




PRB-1 DIGITAL LOCK PROBE 
10 I1SEC SPEED RT 4 TO 15V IEVEIS 







ZotrotW *ln on m CMOS. 
MOS »mj MtfTOHOC****!* «»<>"« • » 
W 15V POwot »uot>ly Th<««0<«» mi- 

>«*«ii<^o mtmofv Ne »an.«i«-«^' t»- 

»'». u»>»s *-E0 • * f»w» Mfk, >9» 

put»«s M»a«ty »ep»->»tc«:»o. »»W»1 
0O«t*»f IM'?»OMi !*>«t»c«ivt t c r»p 

• OCto>MMHX 

• to H— a imlw r mt p o m m 

^ MMNMRK pttVM RIllBr 

• AlMCMMNK tMMWi MNMMMy 

• Opr» rtrcuB — fr d w n 

™ M(MMMK*v *Ww(W''0wB MpW#WI»H| 

• CmmmMM»«MM «*»••<« 
twwlfl — 4-UVOC 

• W»o»» w ton — d to IMI V DC 

W*tft Of*tiCK>4( fA- 1 Mhftpt** 

• ***>p*f o v.*. * x n voc 

• Hoi 



PRB-1 DiGITAL LOGIC PROBE 



Catalog RSC-3. 



OK MACHINE & TOOL CORPORATION 

NX Nt W YORK 



Catalog 62H-1979. 



14 Microcomputing February 1980 



cialty printer. The user's manual 
contains a 78-page step-by-step 
instructional program in which 
the user interacts in a controlled 
environment with sample files 
contained on the system disk. 

Small Business Applications, 
Inc., 3220 Louisiana, Suite 205, 
Houston TX 77006. Reader Ser- 
vice number S92. 



Business Mail System 

Designed for large-scale busi- 
ness users with a TRS-80, at least 
32K of memory, a printer and 
two disk drives, the Business Mail 
System will allow the user to store 
up to 150,000 names on a single, 
large file composed of multiple 
diskettes. The software sorts the 
entries into zip-code order and al- 
phabetical order within the zip 
code. As new entries are made, 
the file is expanded automatically 
by the computer. In other words, 
the file will grow from one 
diskette to two, all the way up to 
300 diskettes, each of which holds 
500 names. 



The Business Mail System al- 
lows the user to use one through 
four labels at his discretion. It 
provides for the printing of either 
three or four line addresses. It 
further allows the user to pro- 
gram which names he wishes to 
print out by the use of up to ten 
exclusive and non-exclusive 
codes. Price is $125. 

The Bottom Shelf, Inc., PO 
Box 49104, Atlanta GA 30359. 
Reader Service number B44. 



Development PAC 
for the Sorcerer 



The Development PAC is a 
plug-in ROM PAC cartridge that 
can turn an Exidy Sorcerer into a 
relatively advanced, cassette- 
based Z-80 development system 
for hobbyists and home users. 

The Development PAC includes 
four modules: a Designer's De- 
bugging Tool (DDT), a line-ori- 
ented text editor, a relocating as- 
sembler and a linking loader. All 
can operate with the Sorcerer's 




Exidy 's software package. 



dual cassette interface to allow 
tape-based system development. 
The system allows programs of 
virtually unlimited length to be 
developed in modules. The sys- 
tem supports global (external) 
symbols for inter-module com- 
munication and allows the user to 
define the I/O devices for source, 
object or listings. 

The user can choose to upgrade 
to an Exidy disk system and 



maintain compatibility with all of 
his source, object and machine- 
executable tape files. Since the 
Exidy computer is CP/M com- 
patible, this conversion is han- 
dled via the CP/M operating sys- 
tem by means of a software pack- 
age that converts tape files to disk 
with relative ease. Price is $99. 

Exidy, Inc., 969 West Maude 
Ave., Sunnyvale CA 94086. 
Reader Service number E44. 



LETTERS TO THE EDITOR 



9368 Sources 

In the December 1978 issue you 
published my article on how to 
construct an address display for 
the COSMAC Elf II. I've received 
letters asking the same question: 
" Where can I get 9368 binary to 
7-segment decoder/drivers?" 
Since this seems to be a universal 
problem, I thought I should try to 
answer that question through your 
magazine. 

I originally decided to use 9368s 
because the Elf uses them. But I 
had a terrible time finding them. 
The 9368s decode all binary states 
to produce the hexadecimal code 
1-9 and A-F, unlike all popular 
BCD decoders available from Ra- 
dio Shack or other such places. I 
could also find no other replace- 
ment. I then remembered that my 
Heath kit Digital Design Experi- 
menter (Cat. #EE-3201) used a 
9368 in the Digital Techniques 
course, and I ordered four of them 
as a replacement part (Part 
#443-694, UA9368) at my local 
Heath store. I did encounter some 
resistance to ordering four, since 



the kit uses only one. However, 
two weeks later, and at $4.50/ 
driver, I was the proud owner of 
four rare 9368s. 

At work I needed to develop a 
latched data-output display for 
four parts and needed to obtain 
eight more of these scarce ICs, so I 
looked for a new source. They are 
also sold by Hamilton-Avnet Elec- 
tronics, 7235 Standard Drive, 
Hanover MD 21076, (301) 796- 
5000. This chain exists in most 
every state, but sometimes goes 
under the names of Hamilton 
Electro Sales, or Avnet Electronics 
or some other variation. 

It is hard to believe there are so 
few sources for drivers that decode 
a full 4-bit binary for hexadecimal 
display, but that seems to be the 
situation. 

Robert J. Cotter 
Baltimore MD 



Expanded Expansion 

I want to point out three items 
as a supplement to Mr. Domuret's 
excellent article, "Expanded 



TRS-80 Disk Operations," Oc- 
tober 1979, p. 78. 

1. For those programs like 
Sargon II that expect a Level II, 
non-disk system, you need to 
change the RST instructions. This 
should be done before the move 
instructions. The code to insert is: 

3E C9 LD A.C9 

32 OC 40 LD (400C),A 

32 OF 40 LD (400F),A 

32 12 40 LD(4012),A 

2. The start address for Sargon 
II is 5000 hex. 

3. For most programs it is not 
necessary to have a monitor. 
Simply use BASIC2 to PEEK and 
POKE as necessary. Very short 
programs will usually fit. You can 
fill memory, display, move and 
change all with short programs 
keyed in as necessary. 

I hope this is of help to your 
readers. 

Albert J. Marino 
Chatsworth CA 



a 



Sample" Supplement 



The article " 'Sample' the 
6100" in the December 1979 issue 



of Microcomputing was a gem. As 
the virtual inventor of the mini- 
computer, Digital Equipment 
Corporation has a great deal to of- 
fer the hobbyist, yet precious little 
about DEC sees light of day in the 
hobbyist press. 

As a longtime fan and admirer 
of Digital Equipment Corpora- 
tion, I'd like to volunteer a little 
additional information. 

DEC makes a whole series of 
minicomputers with the general 
designation "PDP-8." The Inter- 
sil 6100 "sampler" described in 
the article most closely resembles 
the PDP-8E system ... an im- 
portant consideration in seeking 
software. 

One of the great beauties of the 
PDP-8 is the ocean of software 
available for it at little or no 
charge: from government agen- 
cies, educational institutions, 
various nonprofit organizations 
and the military. This is in stark 
contrast to the hobbyist/micro- 
computing industry where soft- 
ware of poor quality and dubious 
value is offered with $100 price 
tags, and there is constant petty 
squabbling over ownership, re- 



Microcomputing February 1980 15 



sale, copyrights, etc. 

The Intersil 6100 is the grand- 
daddy of microprocessors intend- 
ed to emulate large-scale com- 
puters. There is now (or shortly 
about to be) a chip set that imitates 
the IBM System 370. 

A. C. Acton 
Midland MI 

Forgive me for being a skeptic, 
but I've heard about the oceans 
of software for years now, and I 
still can 't find any at no or low 
cost. Also, I haven 7 seen any ar- 
ticles with specifics about getting 
all this wonderful software. If it 
really is there, how about some 
articles on getting it? — Wayne. 



You Are What You Eat 

After reading John Cameron's 
"Adult Caloric Requirements" in 
the September 1979 issue, I decid- 
ed to see if my Apple II would run 
it. I typed it in, and after a couple 
of syntax errors, the program ran 
well. 

I was going to work, and I asked 
my 5' 9", 123-pound wife to run 
the program. Suddenly I heard her 
yell, "EEK!— there is no way 1*11 
weigh that much!" My Apple re- 
turned: "Your weight should be 
147 pounds." I assured her that I 
was perfectly happy with her the 
way she was. 

I grabbed the magazine and 
went to work. Ironically, while at 
work, I ran across a doctor at the 
local hospital, and I asked him 
about the basal metabolic rate. He 
stated that BMR was used to 
calculate the caloric requirements 
based on oxygen and intake in 
order to detect thyroid disorders. 
Further, he stated that the system 
was not accurate and was useless. 

All was not lost, though. I liked 
the style of the program. The pro- 
gram ran in the Apple II (only had 
to delete line #460). I am adding a 
line: Line #125 If WT= 123 AND 
HT = 69 THEN PRINT " You are 
just perfect the way you are — AP- 
PLE II.": END. 

Joe Carron 
Stow OH 

First, I react to any suggestion 
that my efforts have been useless. I 
obviously disagree since I use the 
program myself as do many peo- 
ple who plan diets using the charts 
of ideal weights and caloric intake 
present in virtually every book on 
the subject. You are quite correct 
that the calculations of BMR, ca- 
loric intake and ideal weight are 
imprecise. The ranges typically 



given are - 15 percent to + 5 per- 
cent for BMR (basal metabolic 
rate is required for caloric intake 
calculation) and about + / - 10 
percent for weight (given in the 
program). Not surprisingly, peo- 
ple are often exceptional (I have 
yet to see a truly average person). 
Your wife is one of those whose 
weight happily falls below what is 
considered the normal range for 
even a slight-framed 69-inch fe- 
male (three pounds less, in fact, on 
the typical table). Nevertheless, 
this does not eliminate the general 
usefulness of these estimates along 
with the person's own goal as a 
starting point for dieting. Virtual- 
ly all of the laboratory data used in 
medical diagnosis has similar im- 
precision. 

The statement that the BMR is 
useless is peculiar. I suspect it 
denotes this doctor's (and many 
others') lack of concern about nu- 
trition. In order to plan a diet, one 
has to start at some estimate of 
caloric intake and alter it with ex- 
perience. This estimate is obtained 
using tables, which my program 
contains in computer form. One 
can (and many do) just eat 1000 
calories per day, but this is not 
likely to work over many years. I 
believe it is necessary to help peo- 
ple plan a diet they can live with 
every day. I refer you to any book 
on the theory of nutritional plan- 
ning (e.g., Recommended Dietary 
Allowances) to demonstrate that 
the BMR is used today more often 
in relative health than in sickness. 
As a medical student, I heard sev- 
eral lectures on thyroid disease but 
none on how to plan a patient's 
diet. 

Dr. John R. Cameron 
Palo Alto CA 



Digs Disks 

I thought the evaluations of 
mini-floppy disk systems in Pete 
Stark's SWTP series were very 
good. If they'd been published a 
few months earlier, they would 
have saved me agonizing over 
which disk system to get (I finally 
got an MF-68 because a local user 
was upgrading to 8 inch floppies). 
You had the kind of information 
that doesn't appear in the 
manufacturer's brochures. 

Can you do the same for the 
6809 systems and boards that are 
beginning to appear? 

William R. Hamblen 
Nashville TN 

See the January 1980 issue. — 
Editors. 



"Twin Cassettes" Mod 

This letter contains a modifica- 
tion to the piece of equipment 
described in "Twin Cassettes for 
Your TRS-80" by Les Logan, 
April 1979, p. 84. 

The equipment described in the 
article will not work with the 
assembled output of the TRS-80 
editor/assembler because the 
assembler output contains pauses 
of up to about Vi second during 
which the assembler is occupied 
with other things. The cassette 
drive is not turned off, however. 
Thus the dual cassette interface 
reverts to a "read" condition and 
switches to the "read" recorder. 
To avoid this, increase the "write" 
monostable multivibrator time 
constant by increasing C3 by a fac- 
tor of 100. 

C. Nielsen 
Trenton NJ 



Software Observations 

Publisher's Remarks on p. 6 of 
the October 1979 issue has 
prompted me to write. Wayne 
said, "Can you sell TRS programs 
to Radio Shack stores?" and then 
went on a binge condemning peo- 
ple who couldn't. Ms. Smythe had 
a different answer to your ques- 
tion in Output from ISI on page 8: 
"Radio Shack stores are pro- 
hibited from selling programs 
other than those released from Ft. 
Worth." Who is correct? 

I believe that Ms. Smythe is cor- 
rect. Radio Shack can market 
anything they please in any way 
they want. If this is bad for the 
sales of computers and software, 
so be it! This is also hurting I Si's 
sales, isn't it? 

You really want Radio Shack to 
give you a free ride by their selling 
tons of ISI software. It's good 
stuff and would make everyone 
happy, but Radio Shack couldn't 
care less about doing so. What you 
need to do is make a big hit with 
your software in spite of the big- 
gest computer manufacturer in the 
world! 

A lot of businesses are failing 
today due to poor management 
and the disastrous manner in 
which our country is being run in- 
to the ground. It is hard enough 
just staying in business without 
trying to start new companies in 
relatively new fields. 

Your comments about earning 
big money (which I am all for) and 
starting new computer-related 



businesses are mostly a lot of hot 
air that doesn't help the people 
trying to do these things. I would 
like to quit my current job and 
start working in a microcomputer- 
related field. Your tirades have not 
helped me at all. I want to learn 
the trade, not start a business that 
will fail. 

I am interested in software. In 
my opinion, Microcomputing has 
published more useful software in 
the past. I couldn't care less about 
the trendy hardware articles you 
have been publishing on the 
TRS-80, PET and APPLE. I 
don't own one of these or have use 
of one at this time, though I would 
like to learn the software used on 
them. I hope the TRS-80 articles 
will "disappear" with your new 
magazine soaking them up! I have 
a North Star Horizon and am 
looking for more programs to use 
on it. I am quite happy to convert 
useful BASIC programs into 
North Star BASIC. 

Saul G. Levy 
Tucson AZ 

Tandy stockholders are looking 
for profits to share, and the 
management is aware of this. If 
Radio Shack can make more 
money by selling other manufac- 
turers' products (including soft- 
ware), I think you '11 see them go- 
ing this practical route. I have 
seen no sign that Radio Shack 
makes any poor business deci- 
sions, despite some cherished 
policies of the past. Free ride on 
software? The ISI staff, knowing 
how much work and investment 
has been put into the venture, got 
a big laugh out of that one. As for 
going into business, you appar- 
ently have not been reading many 
of my editorials . . . and have 
drawn conclusions from far too 
little data. I went into detail on 
how to learn the business and 
avoid the normal pitfalls. — 
Wayne. 



Application Note 

When a new Microcomputing 
arrives, the first section 1 read is 
Letters to the Editor. In the 
November 1979 issue, I noted a 
letter from Royal Scott on inter- 
facing the TRS-80 to a Heath H14 
printer. As an owner of an H14 
and a member of the New River 
Computer Club, most of whom 
own TRS-80s, I should point out 
that Heath has had available since 
June IS an application note deal- 
ing with such an interface. This 



16 Microcomputing February 1980 



clearly readable printouts 
clearly remarkable price 

The $ 625* Heathkit H14 Printer. You'll pay hundreds 

more for a printer with its features. 



Where else can you buy a microprocessor- 
based printer with the H14's features and 
copy quality for under a thousand dollars? 

The Heathkit H14 prints up to 165 charac- 
ters per second, one full line every two 
seconds. 

5x7 dot matrix and finest quality impact 
printhead give you clear, easy-to-read 
images. 

All functions are microprocessor-con- 
trolled for reliable performance and more 
efficient use of your computer. 



You get: 

• Standard 96-character ASCII set — UPPER 
and lower case. 

• Operator or software selectable line 
width: 132, 96 and 80 characters per 
line. 

• Compatibility with any computer having 
RS-232C or 20 MA current loop serial 
interface with handshaking. 

• Sprocket paper feed, with adjustable 
spacing, keeps paper moving smoothly. 

• "Paper out" and "paper jammed" sig- 
nals prevent loss of data. 



// 



I. 




• Selectable baud rates from 110 to 4800. 

• Convenience of standard fan-fold paper, 
2.5 to 9.5 inches wide. 

• Chrome wire rack keeps paper neat. 

Price includes connecting cables, paper 
rack and ribbon. Just add paper and you're 
ready to run. And service on the H14 is 
close by at any of 55 Heathkit Electronic 
Centers throughout the U.S. 

Complete details on the remarkable H14 
are in the newest, free Heathkit Catalog. 
Send for yours today or pick one up at your 
Heathkit Electronic Center. 



| | | | | | 



'Whatever vZ — — — — - 

- an Client vZ e >> COmp,e '»ent 
~~ Cr ea« Ve Con, 

^ c< ""p"***'... 




MttHTEMF 




wioc to* *f«> mo on rawt* 

CMAI fOHM RCV f»0 lltat ITVSMt 

mm 




FRFF rATAIOr ^ ee * ne complete line of 
THEE K./\ I /\LV^Vj Heathkit computer Products, 

including printers, video terminals, floppy disk sys- 
tems and software, in the new, 104-page Heathkit Cat- 
alog. It describes nearly 400 exciting kits for your 




home, work or pleasure — all at build-it-yourself sav- 
ings. Send for yours today or pick one up at your 
Heathkit Electronic Centert where Heathkit Products 
are displayed, sold and serviced. See your white pages 
for center nearest you. 



*ln kit form, F.O.B. Benton Harbor, Ml. Also available completely assembled at $895 F.O.B. Benton Harbor, Ml. Prices are subject to change without notice. 
tUnits of Veritechnology Electronics Corporation 



Heathkit 



»^H51 



Heath Company, Dept. 343-634, Benton Harbor, Ml 49022 



CP-180 



bound, six-page booklet details ex- 
actly how to wire the two together, 
pin-by-pin, and provides a driver 
routine in both BASIC and 
Z-80/8080 assembly language for 
the TRS-80. I'm told that the 
driver is superior, on several 
counts, to the one supplied with 
the TRS-80 expansion interface. 
At any rate, a note to Heath 
should get the TRS-80 owner a 
copy. 

D. C. Shoemaker 
Blacksburg VA 



Initiative 

I hope I have been able to ad- 
vance the sales of Microcom- 
puting and Instant Software into a 
new source. A new computer 
store, Miss Micro, which opened 
in Jackson, sells PET and 
Cromemco systems. 

When I visited Miss Micro, I 
noticed that they didn't know 
about your excellent publication. 

I returned the next day with a 



REVIEWS 



(from page 9) 

The one potential trouble area 
in this book for the computerist is 
the use of files. Those who are 
running Microsoft's Extended 
Disk BASIC or an equivalent can 
apply this section; the rest of us 
have to either just drool over it or 
trick our BASICs into using files. 

As an introduction to BASIC 
this text is OK but not outstand- 
ing. The reason for reviewing it is 
not to damn it with faint praise, 
however; I consider it a useful 
book. The second part of the text 
is what stands out. This is ideal for 
someone who is just learning BA- 
SIC and wants business examples 
rather than the conventional 
math, statistics, engineering or 
game examples. Also, for the cost 
of the textbook you get many of 
the business-related programs that 
are found in the more expensive 
collections of BASIC programs, 
and you get good explanations of 
how the programs work. So, while 



this is not a text for everyone, it is a 
good text for those who want to 
learn business programming, and 
especially those who would like to 
have some useful business soft- 
ware as an offshoot of their learn- 
ing experience. 

John A. Lehman 
Ann Arbor MI 



57 Practical Programs & 
Games in BASIC 

Ken Tracton 

Radio Shack (Cat. No. 62-2008) 

Frustration is spending one 
hour with pencil, paper and hand 
calculator solving a one-time- 
only job that your microcomput- 
er could handle in minutes after 
two hours of programming. 

This book gives some relief 
from this dilemma. The author 
presents 57 short programs that 
cover the fields of math, busi- 
ness, electronics, statistics and 
games. These include logarithms 
to any base, compound interest, 
resistance calculations, five 
statistical means, yet another 



supply of back issues and pointed 
out to the owner that he should 
stock Microcomputing. Then I 
mentioned Instant Software and 
showed him ads to illustrate I Si's 
inventory. I also told him that 
Microcomputing had purchased 
an article from me. 

I hope that other readers make 
the commitment to make Micro- 
computing the most rapidly grow- 
ing magazine in the field. 

Gary Ratuff 
Mendenhall MS 



Gary, you get a gold star for your 
consideration. But, you are right. 
The more readers we get, the 
more advertising we will get; that 
brings a lot more articles, so 
everyone gains. We do try to help 
new computer stores make 
money and educate customers 
with our magazines and books, 
but every now and then someone 
opens a store and doesn't let us 
know. Keep your eyes peeled, 
readers, and pass the word.— 

Wayne. 



space-wars game and a bubble- 
sort routine. I am sure that any- 
one reading this magazine could 
have written any of the programs, 
but they are presented like con- 
venience foods — just pop one in- 
to your machine and RUN. 

Tracton describes the BASIC 
used as a "standard" one. Would 
that there were such a thing! In 
fact, it is Radio Shack's version 
of Microsoft BASIC . . . sur- 
prised? However, as strings are 
used only in the day-of-the-week 
program, you can very easily 
translate each program into your 
own dialect. 

The book is well written and 
laid out. Each program begins 
with a title and description fol- 
lowed by any mathematical for- 
mulae used. A typical RUN fol- 
lows. Then come the flowchart 
and the actual BASIC program. 
This format allows you to modify 
any program for your specific re- 
quirements. One exception is the 
bubble sort, which gives nothing 
but the listing. This is sad since 
the way in which a sort is orga- 
nized would be of interest to 
beginning programmers. 



The main failing of this book is 
the poor grouping of the pro- 
grams in the index. They are 
simply arranged alphabetically 
with no attempt to sort them by 
field or function. A second disap- 
pointment is the lack of any 
graphics. Don't mistake the pro- 
gram called "Curve Tables (plot- 
ting)" for some. Finally, the 
games are rather elementary. I 
suspect they were picked mainly 
by name and chosen to give the 
book more pizzazz and a more 
salable title. 

This book would be a useful 
addition to all our bookshelves 
for three reasons. First, there are 
times when you need a good pro- 
gram — now. Second, the layout 
makes it useful to anyone learn- 
ing to program because it allows 
you to see how an experienced 
programmer attacks a problem. 
Finally, the subroutines will find 
their way into many of our longer 
programs. However, remember 
that all programs in the book are 
copyrighted. 

Bruce Evans 

Pickering Ontario 

Canada 



CONTEST 



Please disregard the "Best Article of the Year" contest ballot 
in the December 1979 issue. Due to a computer error, the winner 
for December 1978 was listed as Ed Juge, author of "The TRS-80: 
how does it stack up?" The winner should have been Barry A. 
Lewis, author of "Deep, Dark Secrets of the TRS-80 (Level I)." All 
the winners are shown below. Please cast your vote on the 
Reader Service card at the back of the magazine. Sorry for the in- 
convenience. 



Not yet eligible for "best of the year," the winner for November 
1979 is Dr. Joseph Sanger, author of "Electronic Librarian." 



1. "Let Your Computer Wear a Watch," Brooks, Oct 1978. 

2. "Hey, Kids! It's 'Mickey Modem! '* Gibson, Nov 1978. 

3. "Deep, Dark Secrets of the TRS-80 (Level I)," Lewis, Dec 1978. 

4. "TRS-80 Tape Controller," Rowlett, Jan 1979. 

5. "It's There— But Where?" Mathis, Feb 1979. 

6. "PET User Port Cookbook," Yob, Mar 1979. 

7. "A Look at TRS-80 Peripherals," Cowan, Apr 1979. 

8. "A Text Formatter in BASIC," Law, Mitchell, May 1979. 

9. '"Monitor,"' Hallen, Jun 1979. 

10. "IC Logic Tester," Ruckdeschel, Jul 1979. 

11. "Machine Language Monitors for TRS-80," Edmonds, Aug 1979. 

12. "The Failure of a Micro in Business," Kepner, Sep 1979. 



18 Microcomputing February 1980 



Attention 

BARGAIN HUNTERS 

Receive Hundreds of Classified Ads 
Like These Every Month 



HARD DISK DRIVE Diablo Mod 31 
1.2 MByte std. density. Includes 
power supp and cable, rack mount 
slides, amd manual. Excellent 
condition. $450. C^ ' — ^01 
LB^cJ^^TTlt; CPS Serial V)3 

£&. It «rs-- s' 

SVStfr 7uATHKIT H-11/DEC LSI-11 
system, 32K Byte storage, reader 1 
punch, video terminal, complete 
software. Cost $4500 assembled, 
$3500 kit. Like new. Sell for $2250. 
305-962-6677. 2058 Griffin Rd., Ft 
Lauderdale, FL 33312. 



7/5S M lC: ,nt l rdata (P^in-Elmer) 
7/16 Mm. with 32KB core front 

HS tape reader, interfaces for LP 2 
(TTY), and RS-232 (Full duplex 
programmable), deludes manual 

M3S ^^mRl^rOMATION ALPHA 

16; 16 k-word core "^^'■"S 
PF-R Modified Mod. ASR-33 TTYI 
Manuals, utilities, assemblers and 
m any option boards - 16 bit I/O 
Driver, 16 bit I/O, Asynch modem 
contr. 64 bit output, 10 bit A/D - 
D/A Fairly complete documen- 
tation. Up and running in Fortran. 
Not much more than TTY at $1000. 
Herb Sauer, 303-494-8724. 



FOR SALE: Heath H9 video ter- 
minal, excellent condition, $175 or 
best offer. You ship. [214] 962-4484 

w ^^~owiMrcr^ri^ 

memory board without memory 
J; t PS a a s n s d /j! d fck controller bS 
(J't^assembledor not working) M 

?'«"«' cassette; 8 o d ' sfcs J $1,100 

^Tort C °7'- -S tS e e / h 



COMPUTER SHOPPER, the new buy, sell, and trade 
publication, is ready to help you with the latest infor- 
mation on personal, small business and large-system 
computers, accessories and software. 

Each ad-packed issue is full of the bargains you are 
looking for. Included are ads from individuals 
throughout the United States who are selling their 
good, pre-owned equipment just so they can trade-up 
to new equipment coming on the market. 

But, COMPUTER SHOPPER'S bargains wont be 
yours unless you subscribe. This useful, money- 
saving publication can become your way to com- 
municate with other buyers, sellers, and traders all over the nation. 

Whether you are a hobbyist or a part-time user, COMPUTER 
SHOPPER will put you in touch with the nationwide computer 
marketplace in time for you to take advantage of bargain oppor- 
tunities. 

Have something to sell? A COMPUTER SHOPPER subscriber 

probably wants to buy it. 

Looking for a part, component or even a complete system? A 
COMPUTER SHOPPER subscriber probably wants to sell it. 

COMPUTER SHOPPER is THE marketplace for anything in com- 
puters and is read by thousands of people who are ready to buy. 

COMPUTER SHOPPER offers a unique format in which classified 
ads are categorized for fast location of specific items. Combining 
this with low individual ad rates — 10 cents a word — 




makes it the ideal place for buyers and sellers to com- 
municate. And, its mix of individual, broker, and 
manufacturer ads enable subscribers to find what 
they want at the best price possible. 

COMPUTER SHOPPER will work for you in other 
ways, too. If you are just thinking about getting into 
computers, it can help you learn product availability 
and prices before you make a decision. And, through 
the timely ads, COMPUTER SHOPPER will keep you 
abreast of changes in the market which could create 
bargain opportunities for you. 

But COMPUTER SHOPPER cannot work for you 
unless you subscribe. Complete the subscription card today and 
put COMPUTER SHOPPER on your monthly reading list. 

Want to look us over first? We'll give you your first issue FREE 
and then bill you for the next 12. If you are not convinced COM- 
PUTER SHOPPER suits your needs, just write "cancel" on the in- 
voice and return it. 

And, to let COMPUTER SHOPPER start working for you right now, 
we'll also give you a FREE classified ad to sell your pre-owned 
equipment or to find equipment you want. 

The FREE ad is yours whether you decide to subscribe or not 
with no obligation what-so-ever. 

Don't miss another timely issue of COMPUTER SHOPPER. Send 
in the postpaid card today (give the other card to a friend) and let 
COMPUTER SHOPPER start working for you. 




The Nationwide Marketplace for Computer Equipment 

COmPUTBR SHOPP5R 

P.O. Box F5 • Titusville, Florida 32780 
Telephone 305-269-3211 



^C168 



|X Reader Service index— page 241 



Microcomputing February 1980 19 




Flying from here to there is more fun when your H8 does the hard part. 



Leland D. Young 
12603 Forest Hills Dr. 
Tampa FL 33612 



What is the air distance 
from Atlanta to Disney 
World? I'll admit this may not 
be a pressing question with you, 
but if you were the pilot of a 
small airplane flying between 
these two locations, you would 
want to know this information 
and much more, the sum of 
which would amount to what 
may be called a flight plan. 

This article explains a pro- 
gram I call NAVPROG, which is 
intended to be used as an aid in 
deriving such a flight plan. The 
program is written in Heathkit's 
Disk Extended Benton Harbor 
BASIC version #100.00.00. Even 
though NAVPROG deals with 
aviation, its basis may have ap- 
plications in other areas, be- 
cause the real subjects are vec- 



tors and triangulation and how 
they are manipulated in prob- 
lem solving. In this case they 
are manipulated to figure dis- 
tances and directions for navi- 
gation. Daniel Boone should 
have had it so good. 

Introduction 

To develop NAVPROG, a ba- 
sic understanding of naviga- 
tion and flying is needed. This 
is why I will give background in- 
formation during this article as 
it seems appropriate. But a 
complete explanation is virtual- 
ly impossible in the limited 
length of a single magazine ar- 
ticle, so those of you desiring 
more information should visit 
the public library or an aviation 
bookstore. 

Primarily, three models are 
used in the execution of NAV- 
PROG. One model determines 
the distance between two loca- 
tions by using spherical trigo- 
nometry; the second model de- 
termines the net result of any 



winds between these two loca- 
tions; and the third model de- 
rives a wind triangle, which is 
used to determine the effect of 
wind on the aircraft's flight be- 
tween these locations. From 
these three basic models all 
other aspects of the program 
are derived. 

After some general discus- 
sion I will cover highlights of 
the actual program explaining 
their particular functions. Fi- 
nally, I will conclude with some 
general comments on NAV- 
PROG. 

The Aeronautical Chart 

Without going into detail (and 
believe me there can be plenty 
of detail), I'll just say that the 
charts used for air navigation 
have the usual features you 
might expect to see. Primarily, 
each chart shows a portion of 
the earth's surface and a grid- 
work of horizontal and vertical 
lines called, respectively, lines 
of latitude and longitude. The 



gridwork is used to identify lo- 
cations on the portion of the 
earth's surface shown by the 
chart. 

For example, if you were look- 
ing at a chart showing the west- 
central Florida area, you would 
see the St. Petersburg-Clearwa- 
ter International Airport located 
at approximately 27° 59' N lati- 
tude and 82° 41' W longitude. In 
this case the W means the loca- 
tion is in the western hemi- 
sphere and the N means it is 
north of the equator. It should 
be noted that NAVPROG is in- 
tended to be used only in the 
portion of the earth just de- 
scribed (i.e., western hemi- 
sphere and north of the equa- 
tor). Changes could be made to 
allow coverage for any part of 
the earth with no particular dif- 
ficulty. However, I have not pur- 
sued this aspect. 

The Distance Model 

Let's now consider the dis- 
tance between the two loca- 



20 Microcomputing February 1980 



tions, Sarasota and Lakeland, 
Florida. Fig. 1 shows the gen- 
eral relationship of latitude and 
longitude lines. Fig. 2 shows 
the particular reference to the 
two locations. The diagonal 
line between the two points in 
Fig. 2 is part of a great circle (to 
be discussed later) and repre- 
sents the distance between 
them. That the diagonal is part 
of a great circle is important in 
that it represents the shortest 
distance between the two 
points. 

The angle S is found in order 
to derive the true course, which 
is an angle measured clock- 
wise from the direction of true 
(geographic) north to the line 
representing the direction of 
travel. In this example the direc- 
tion of travel is the diagonal 
line going from Sarasota to 
Lakeland. 

In Fig. 2 we also see the lati- 
tude and longitude of each lo- 
cation represented two ways: 
as degrees and minutes, which 
is the way the information is en- 
tered by the user, and as de- 
gress only, which is the way 
minutes are converted by NAV- 
PROG. 

As an example, 82° 33' (read 
as eighty-two degrees, thirty- 
three minutes) is the same as 
82.55° because of the relation 1° 
= 60'. This would be like saying 
5 feet 10 inches is the same as 
5.83 feet. Lines 340-360, 390- 
410 and 4090-4100 perform this 
conversion and manipulation 
and, using spherical trigonome- 
try, derive the distance C(l) in 
line 870. 

Even though the earth is not 
a perfect sphere, the equations 
for a sphere can still be used to 
obtain acceptable results. 

The general cosine law for 
spherical triangles can be used 
to determine the side opposite 
an included angle if it and the 
adjacent sides are known. The 
form of the cosine law is shown 
in Equation 1: 

cos(a) = cos(b)*cos(c) + sin(b)*sin(c)*sin(A) 

where A is the included angle 
and b and c are the adjacent 
sides. 

Note in Fig. 3 that all three 
sides of the triangle are parts of 
great circles. Allow me a brief 
digression: A great circle is 




LATITUDE 



LONGITUDE 



Fig. 1. Lines of latitude and longitude. 



formed at the intersection of a 
sphere and a plane (a plane, not 
an airplane), if the plane passes 
through the center of the 
sphere. All lines of longitude 
are great circles. The equator is 
also a great circle. The orienta- 
tion of the plane doesn't mat- 
ter, just so it passes through 
the center of the earth. The line 
between points B and C in Fig. 3 
is considered part of a great cir- 
cle, just as are lines b and c. 

Notice in Fig. 3 that to use 
Equation 1 the sides b and c of 
the triangle must be found by 
subtracting the latitude of 
either point from 90°. This sub- 
traction requirement is a step 
that can be eliminated by using 
the complementary functions 
cos(b) and cos(c) in Equation 1. 
By so doing, an equation can be 
derived where the latitude of 
each point can be used directly. 
This new equation is shown in 
Equation 2: 

cos(a) = cos(lat.B)*cos(!at.C)*cos(A) + 
cos(lat.B - lat.C) - cos(lat.B)*cos(lat.C) 

Line 850 computes Equation 
2, where P, as defined in line 
840, is equal to cos(lat.B)*cos 
lat.C). Substituting P in Equa- 
tion 2 gives us Equation 3: 
cos(a) = P*cos(A) + cos(lat.B - lat.C) - P 

NAVPROG always maintains 
the absolute values for A and 
the term (lat.B - lat.C) in Equa- 
tion 3. 

The solution of the arc a (from 
cos(a)) in Equation 3 is given in 
terms of degrees because arc a 
subtends the central angle a, 
as shown in Fig. 3. Both the arc 
and the angle are given by the 
same value of degrees. The arc 
can then be converted to nauti- 
cal miles by the conversion fac- 



tor of 60 nautical miles per de- 
gree of arc. This conversion is 
done in the latter part of line 
860. 

True Course 

Lines 1000-1070 find the true 
course from one location to an- 
other. Lines 1010-1020 find the 
angle S (see Figs. 2 and 4) 
formed at the originating point, 
and lines 1030-1060 determine 
the orientation of the triangle 
so as to handle the angle S 



properly to find the true course 
T(l). Keep in mind that the true 
course always starts at true 
north and is measured clock- 
wise. Referring to Fig. 4, let's 
consider values of A and B1 
that will place us in quadrant I. 
The variable A is found in line 
820, and B1 is found in line 830: 

A = P1(I)-P1(I + 1) 
= 82.55° -82.01° 
A = 0.54° 

B1=P2(I)-P2(I + 1) 
= 27.4° - 27.98° 
B1 = - 0.58° 

We see that A is a positive 
value and B1 is negative, which 
meets the criteria of line 1030. 
Notice that the fourth case in 
line 1060 is not actually checked 
but is assumed correct by de- 
fault when the checks for the 
first three cases fail. 

Magnetic Variation 

Another brief digression may 
be in order here. A magnetic 
compass does not point to the 
earth's true north. Instead it 
points to a region called the 
magnetic north pole located to 
the far north of Canada. Before 
the aerial charts can be used 



LONGITUDE 
82 # 33' 
(OR 82.55 # ) 



LATITUDE 
27-59' 
(OR 27.98 # ) 



LONGITUDE - 
82 - 7' 
(OR 82.01*) 



LAKELAND- 



£P 



CAM 



SARASOTA 



LATITUDE ^ 

27»24" (OR 274 # ) 



81 



Fig. 2. Part of the distance triangle. 



NORTH POLE 




GREAT 
CIRCLE 



GREAT 
CIRCLE 



Fig. 3. Distance triangle example. 



Microcomputing February 1980 21 



0* 
360« 





TRUE COURSE 




TRUE COURSE 




\<360-S) 




/ 




\ 

QUADRANT IZ 




QUADRANT I 




LINE 1060\ 




/ LINE 1030 




A<0 BKO \ 


* — S 


/ A>0 Bl< =0 


270* 






90° 












QUADRANT m 

LINE 1050 
A<0 Bl>0 



TRUE COURSE 
(180 + S) 



QUADRANT ] 
LINE 1040 
A> = Bl>0 



TRUE COURSE 
(180 -S) 



I80« 



Fig. 4. Decisions model for true course. 



for navigation, this discrepan- 
cy must be taken into consider- 
ation. 

If you were standing at Tampa 
International Airport looking in 
the direction your compass 
showed as north, you would ac- 
tually be looking to the right 
(east) of the true north pole by 
an angle of 1° because Tampa 
International has a magnetic 
variation of 1°E. Some areas in 
the U.S. have no magnetic vari- 
ation, and others have varia- 
tions higher than 20°. 

The effect of magnetic varia- 
tion can be handled fairly easily 
by adding to or subtracting 
from the true course T(l). Such a 
correction will yield the mag- 
netic course. Note that NAV- 
PROG handles magnetic varia- 
tion initially in lines 420-500 and 
then applies it in lines 1300- 
1400. 

Magnetic Course 

Lines 1300-1400 determine 



the magnetic course by apply- 
ing the magnetic variation to 
the true course using the rule, 
"east is least and west is best." 
This means that easterly varia- 
tions are subtracted from the 
true course to derive the mag- 
netic course and the westerly 
variations are added. 

Wind Vectors 

Refer to Fig. 5 and note the 
arrows representing the wind 
vectors A and B. The arrows (as 
vectors) point in the direction 
toward which the wind is blow- 
ing, and the length of the arrow 
represents the speed of the 
wind. 

Weather service people give 
wind information at the various 
locations and altitudes you re- 
quest. This information will be 
reported as the direction from 
which the wind is coming and 
its speed. The wind direction is 
given in terms of degrees refer- 
enced to true north, and the 



TRUE COURSE 



LAKELAND 



B 



SARASOTA 



S3 
S4 



LENGTH OF VECTOR A 
LENGTH OF VECTOR B 




Fig. 6. Mean wind vector diagram. 



a -ALPHA 

0-BETA 

r -GAMMA 




Fig. 7. General triangle. 



Fig. 5. Wind vectors at two locations. 



speed is given in knots (nauti- 
cal miles per hour). 

Notice the convention used 
for the wind direction in Fig. 5. 
Although the wind direction is 
reported as the direction from 
which it is blowing, it is shown 
on the diagrams as the direc- 
tion toward which it is blowing. 
The latter convention must be 
used so that the vector dia- 
grams will give correct results. 

Mean Wind Vector 

Now we must find the mean 
wind vector. The single mean 
wind vector we seek should af- 
fect the aircraft going between 
Sarasota and Lakeland (in our 
example) in the same way the 
two separate wind vectors 
would collectively affect the 
aircraft. 

The following is an explana- 
tion of the procedure used to 
find the mean wind vector. This 
vector is identified as R2 in Fig. 
6. The variable X, which repre- 
sents the angle formed between 



angles W3 and W4, is found 
first. This is done in line 1570. 
Next the imaginary line R is 
found by line 1610 by using the 
law of cosines: if two sides of a 
triangle and the included angle 
are known, the side opposite 
the included angle can be de- 
rived. See Fig. 7 and Equation 4, 
the typical equation used in 
plane trigonometry: 

a 2 = b 2 + c 2 - 2*b*c*cos(«) 

Notice that line 1610 is in the 
form of Equation 4. The larger 
triangle is next divided in half 
by making R2 point to the cen- 
ter of R. When this happens the 
angle X is not equally divided. I 
arbitrarily chose to solve for the 
angle shown as X1 in Fig. 6. The 
angle Q(l) of the mean wind vec- 
tor can then be found using X1 
in conjunction with W4. 

Before X1 can be found, the 
cos of angle Q is derived. This 
is done by using a variation of 
Equation 4. By manipulating 
Equation 4, we can solve for the 



22 Microcomputing February 1980 



IWicraHIET 

It's off and running. And delivering 

as promised. 



What is MicroNET? 

It is the personal computing 
service of CompuServe, 
Incorporated. CompuServe is a 
nationwide commercial time 
sharing computer network with 
large-scale mainframes. 
MicroNET allows the personal 
computer user access to 
CompuServe's large computers, 
software and disc storage 
during off-peak hours (from 
6 PM to 5 AM weekdays, all day 
on Saturdays, Sundays and 
most holidays). 

What do I get? 

You can use our powerful 
processors with X-Basic, 
Fortran, Pascal, Macro-1 0, AID 
or APL. You get 1 28K bytes of 
storage free (just access it at 
least once a month). Software 
includes games— including 
networking multi-player games 
—personal, business and 
educational programs. 

In addition, there is the 
MicroNET National Bulletin 
Board for community affairs, 



for sale and wanted notices and 
the MicroNET Electronic Mail 
System for personal messages 
to other MicroNET users. You 
can even sell software via 
MicroNET. 

NEW!MicroQUOTE,a 
security information 
system for corporate 
stocks and public debt. 

NEW! MicroNET Soft- 
ware Exchange with 
dozens of new 
programs available for 
downloading to your 
personal computer at a 
specified charge. 
NEW! Executive pro- 
grams for TRS-80, Apple 
II and CP/M systems (so 
your machine and ours 
can talk to each other 
error-free). You can 
switch between terminal 
and local mode while 
on line. 

What do I have to have to 
use MicroNET? 

The standard 300 baud modem. 
MicroNET has local phone 



service in most major cities (see 
below) and a reduced phone 
charge in over a hundred others. 

What is the cost? 

We've saved the best for last. 
There is a one-time hook-up 
charge of only $9.00! Operating 
time— billed in minutes to your 
VISA or MasterCharge card— is 
only $5.00 an hour. 

Want more information? 

Good. Write to us at the address 
below. We'll send you a full 
packet of information about 
MicroNET. 

CompuServe 



^C155 



Personal Computing Division 
Dept. K 

5000 Arlington Centre Blvd. 
Columbus, Ohio 43220 



MicroNET is available via local phone calls 
in the following cities: Akron, Atlanta, 
Boston, Canton, Chicago, Cincinnati, 
Cleveland, Columbus, Dallas, Dayton, 
Denver, Detroit, Houston, Indianapolis, 
Los Angeles, Louisville, Memphis, West 
Caldwell (NJ), New York, Philadelphia, 
Pittsburgh, San Francisco, Stamford (CT), 
St. Louis, Toledo, Tucson and 
Washington, D.C. 

Access to the MicroNET service is avail- 
able in 153 other cities for an additional 
charge of $4.00 per hour. 




". . . but the really impressive stuff is in the back room." 



iS Reader Service index— page 241 



Microcomputing February 1980 23 



NAVPROG 



note: if you prompt an error message from the basic 
interpreter* you usually may proceed by typing 'continue' and 
hitting 'return'. this type error message will be preceded by a 
bell and be of the following format - 



! ERROR- 



SYNTAX ERROR AT LINE 230 



THERE ARE OTHER ERROR MESSAGES GENERATED BY NAVPROG. THESE 
WILL NOT ALLOW YOU TO 'CONTINUE' FROM THE POINT OF THE ERROR. 



ENTER # OF NAV. POINTS (8 MAX) 3 

USE STORED DATA FOR POINT # 1 ? (Y/N) 

? Y 

** USING STORED DATA ** 
ENTER POINT #1 (L TO LIST) 
? OCALA 

USE STORED DATA FOR POINT * 2 ? (Y/N) 
? N 

ENTER NAME OF POINT # 2 (13 SPACES MAX) 
? JACKSONVILLE 

ENTER LONGITUDE OF JACKSONVILLE (DEGfMIN) 
? 81*41.3 

ENTER LATITUDE OF JACKSONVILLE (DEGfMIN) 
? 30*29.1 

IS MAG.VAR, E» W OR FOR JACKSONVILLE'? 
? W 

ENTER MAG.VAR,* NEAREST JACKSONVILLE 
? 1 

USE STORED DATA FOR POINT * 3 ? (Y/N) 
? Y 

** USING STORED DATA ** 
ENTER POINT # 3 (L TO LIST) 
? ST. PETERSBURG 

DIRECTION WIND IS FROM X SPEED & OCALA (DEG,KTS) 
? 40*8 

DIRECTION WIND IS FROM X SPEED G JACKSONVILLE (DEGvKTS) 
T 45*8 

DIRECTION WIND IS FROM fc SPEED 9 ST . PETERSBURG (DEGfKTS) 
? 40*5 

ENTER TAS (KTS) 140 
ENTER FUEL RATE (GAL/HR) 10 
ENTER rAKE-OFF GMT (XXXX) 1230 

DIST 

LOCATIONS (NM) 

OCALA -> JACKSONVILLE 83.6 
JACKSONVILLE -> ST . PETERSBURG 163.1 



ML 
( DE G ) 

20 
198.2 



MH 
(DEO) 

21.3 
197.1 



(KTS) 
132.6 
145.9 



ETE 
(H : M) 

37.8 

1 7.1 



ETA FUEL 

CXX) (GAL) 

7.8 6.3 

14.9 11.2 



TOTAL DIST ■ 246./ NM 

TOTAL TIME - 1 HRS: 45 MENS 

AVG.FUEL USAGE - 17.5 GALS 



TAS (? !40 KTS 
DEPART 1230 GMT 
FUEL RATE I 10 GAL/HR 



F INAL ETA (4 14 14.9 GMT 



Sample run. 



WIND 



MAGNETIC 
HEADING 



MAGNETIC 
COURSE 



LAKELAND 





DIRECTION 
OF FLIGHT 



Fig. 8. Magnetic course and magnetic heading. 





TRUE COURSE 



ALSO THE WCA 



90« 



R-GROUNDSPEED OF 
THE AIRCRAFT 

A4-AIRCRAFT'S AIRSPEED 

R2-MEAN WIND VECTOR 



Fig. 9. Wind triangle. 



cos by using Equation 5: 

cos(a) = (b 2 + c 2 - a 2 )/2* b* c 

This equation form is used to 
find Q. Careful examination of 
the large triangle in Fig. 6 will 
show that all variables needed 
to solve Equation 5 for cos(Q) 
are known. This is done in line 
1620. 

Next we solve for R2 using an 
equation in the form of Equa- 
tion 4. The angle Q is now the 
included angle, and the sides 
are B and R/2. But notice that 
only the cos of the included an- 
gle Q is needed, not the angle it- 
self. This is why only the cos of 
angle Q was found. Line 1630 
finds R2 where Q in the equa- 
tion is actually cos(Q) found in 
line 1620. X1 is now derived be- 
cause all three sides of the 
small triangle are known. 

The procedure just described 
is a special case of vector sum- 
mation for two vectors. This 
procedure is allowable because 
no more than two vectors will 
be summed at any one time in 
the program. 



Wind Correction Angle 

We now know in which direc- 
tion to head our airplane. All we 
have to do when we get aloft is 
point the nose of the airplane in 
the direction we figured for the 
magnetic course. Right? Well, 
not quite. There is still some- 
thing missing. What I just said 
would be true if there were no 
wind present, but this is rarely 
the case. When wind is blowing 
and you don't allow for it, you 
will be blown off course to an 
extent depending on the speed 
of the wind and the angle at 
which it hits you. 

The correction for the wind 
will be in the form of an angle 
derived from the wind triangle. 
This wind triangle will use the 
mean wind vector already de- 
rived and will give two important 
pieces of information: the wind 
correction angle (WCA) and the 
ground speed of the aircraft. 

Once the WCA is known it is 
applied to the magnetic course 
to derive the magnetic heading. 
This is the direction the air- 
craft's nose should be pointed 
to remain on course when 
winds are present. As such, this 
correction for winds will cause 
the aircraft to "crab" along its 
direction of flight. Refer to Fig. 
8 and note the difference in 
heading and course. 

Still following the example of 
travel from Sarasota to Lake- 
land, refer to Fig. 9. The law of 
sines, which will be used to de- 
rive parts of the wind triangle, 
can be described by Equations 
6 and 7: 

sin(o) sin(0) sin(y) or sin(/i)*a 

=- = sin(a) = — - — 

a b c b 

The equation in line 2060 is 
B = (R*sin(W))/A4, where B is 
actually sin(B). Notice that this 
equation is the same type as 
Equation 7. Angle B, which is 
the WCA, is derived using line 
2080. 

Ground Speed 

The next part of the wind tri- 
angle we are after (in Fig. 9) is 
the side R, which represents 
the ground speed of the air- 
craft. Note that this variable R 
is not the same as that shown 
in Fig. 6 and used to determine 
the mean wind vector in line 
1610. 



24 Microcomputing February 1980 



The equation in line 2560 can 
be written as R = (A4*sin(G))/ 
sin(W). This is in the form of 
Equation 7. 

Magnetic Heading 

We now know the WCA and 
how it relates to the magnetic 
course as shown by example in 
Fig. 8. The next step is to have 
the computer find which side of 
the true course the WCA should 
be on, since this determines 
whether the WCA is added to or 
subtracted from the magnetic 
course. The result of this addi- 
tion or subtraction will be the 
magnetic heading. This manip- 
ulation is handled in lines 3010- 
3090. 

Modifications 

I have only described NAV- 
PROG in a general sense. To be 
more specific would require 
many more words and figures 
and would probably become te- 
dious and boring. I hope I've ex- 
plained enough so that por- 
tions of the program can be rec- 
ognized and user-modified to 
fit particular needs. 

Some of the lines in NAV- 
PROG are checks so that the 
program won't blow up or de- 
rive unreasonable answers. All 
of these checks can be identi- 
fied and changed as deemed 
necessary. 

NAVPROG will run in my H8 
system with 20K of memory, 
which also contains the 12K Ex- 
tended Benton Harbor BASIC. 
More memory will be required if 
any sort of practical expansion 
is desired for the program's ca- 
pability. I have ideas that I will 
be applying to make NAVPROG 
more functional and become 
more of a decision-oriented 
tool as soon as I become more 
familiar with the new Heath 
disk system recently added to 
my H8. 

Should you desire to increase 
the number of stored locations, 
the following areas must be 
changed from 6 to the desired 
number: the dimension state- 
ments presently set at 6; the 
range of Q in lines 210, 4040 
and 4080; the value of Q in line 
4130. Also, the number of data 
statements must match the 
new number. 

Should you want to change 



the maximum number of navi- 
gational points to a number 
other than 8, the dimension 
statements presently set at 8 
must be changed to the new 
number, and the relation state- 
ment in line 240 must be 



changed. Also, line 8100, which 
breaks the results up into two 
parts for display on the TV ter- 
minal, may need changing, de- 
pending on your terminal. 

My H9 has capability for only 
12 lines of display, which re- 



quires the results to be dis- 
played in two parts. If your ter- 
minal can display more lines, 
you may not need the two-part 
feature. 

Although NAVPROG is self- 
explanatory, a few areas may 



Program listing. 



0010 

00020 

00030 

00040 

00050 

00060 

00070 

00080 

00090 

00210 

00220 

00230 

00240 

00250 

00260 

00270 

00280 

00290 

00300 

00310 

00320 

00330 

00340 

00350 

00360 

00370 

00380 

00390 

00400 

00410 

00420 

00430 

00440 

00450 

00460 

00470 

00480 

00490 

00500 

00510 

00520 

00530 

00540 

00550 

00560 

00570 

00580 

00590 

00600 

00610 

00620 

00630 

00640 

00650 

00660 

00670 

00680 

00810 

00820 

00830 

00840 

00850 

00860 

00870 

00880 

01000 

01010 

01020 

01030 

01040 

01050 

01060 

01070 

01300 

01310 

01320 

01330 

01340 

01350 

01360 

01370 

01380 

01390 

01400 

01500 

01510 

01520 

01530 

01540 

01550 

01560 

01570 

01580 

01590 



PRINT TAB (29) "NAVPROG" {PRINT SPRINT SGUSUB 8700 
CLEAR : U«57 . 2958 : B*-CHR* ( 7 ) 
REM NAVPROG VER 14,4 2/16/79 

L .D. YOUNG — HUOS EBHB 100.00.0o 

C(8) ,T(8) »V*(8) rVi&) , Y ( 8> ,P*(8)»D<6> »M(6) »P1(8) ,P2(8) fD1(6) rMl<6> 

( 8 ) , G ( 8 ) t U ( 8 ) f S ( 8 ) r E ( 8 ) i F < 8 ) t F 1 ( 8 ) * A * ( 6 ) » J ( 8 ) f K < 8 ) 

FN B5<X)-8IN<X/UMDEF FN S6 ( X >■ INT ( X*1(H . 5>/10 

FN S7(X>-ATN(X/SQR(1-X*X> )*U 

FN S8 < X ) ^S I N < ABS ( A/2 ) /U ) *C0S ( X/U ) /SIN ( 02/2 ) 

G=1T0 6SREAD A* ( ) p D < ) t M( ) , Dl < ) »M1 ( ) t V* < Q > » V ( ) : NEXT Q 



REM 
DIM 
DIM 
DEF 
DEF 
DEF 
FOR 



PRINT 

INPUT "ENTER # OF NAV. 

IF N<20R N>8THEN PRINT 

IF NC INT (N) THEN PRINT 

FOR 1^1 TO N 

PRINT "USE STORED DATA 

GOTO 4000 

PRINT "ENTER NAME OF POINT 

LINE INPUT P$(I) 

IF LEN(P$(I))>13THEN PRINT 

PRINT "ENTER LONGITUDE OF 



POINTS (8 MAX)"?N 

B* SPRINT "FROM 2 TO 8 POINTS ONLY": GOTO 230 

B$ SPRINT "INTEGERS ONLY" S GOTO 230 

FOR POINT #"IJ"? (Y/N) " S Y=270 S Yl=290 SGQSUB 8800 



# "I»" (13 SPACES MAX)" 

B*SPRINT "TOO MANY SPACES" SGOTO 
P*(D" (DEGrMIN) " S INPUT D»M 



J90 



<DEG»MIN) " S INPUT D»M 
PRINT B* SGOTO 370 



IF EO1800R M>600R D*60 + M>10800THEN PRINT B$ SGOTO 320 

M=M/60 

REM PKI)=P*(I) LONG. 

P1(I)=B+M 

PRINT "ENTER LATITUDE OF "P*(I>" 

IF D>900R M>600R D*60+M: 5400THEN 

M=M/60 

REM P2(I)=P*(I) LAT. 

P2(I)=D+M 

REM INPUT MAG. WAR. 

PRINT "IS MAG.VAR. E» U OR FOR "P$(I)"?" 

LINE INPUT ;V*(I>:iF V*(I)="0"THEN V(I)=0SG0T0 500 

IF y$<I><>"E"AND V$(I)C "WTHEN PRINT B*SG0T0 430 

PRINT "ENTER MAG.VAR.* NEAREST "Pt(I)SINPUT V(I)SIF 



V(IX20THEN 490 



PRINT B*SPRINT " IS" V( I ) "DEGREES CORRECT FOR "P*(I>"? (Y/N) 

Y=470SY1=460SG0SUB 8800 

IF V$( DO" WTHEN V(I>=-U<I> 

NEXT ISR1=0 

FOR I=1T0 N 

PRINT "DIRECTION WIND IS FROM & SPEED "P*(I>" (DEG»KTS)" 

INPUT U(I)fS(I)SIF S(I)=0THEN 580 

IF U(I)>360THEN PRINT B* SPRINT "360 BEG. MAX" SGOTO 520 

IF S(I)>50THEN PRINT B$ SPRINT "WIND > 50 KTS--RECHECK 1 

IF W(IX=180THEN W( I ) =W( I ) + 180 SGOTO 580 

W(I)=W(I)-180 

NEXT I 

INPUT "ENTER TAS (KTS) "JA4SIF A4>30AND A4<250THEN 620 

B*SPRINT "IS"A4»"KTS THE CORRECT TAS? (Y/N)" 

Y1=590SG0SUB 8800 

"ENTER FUEL RATE (GAL/HR) "JF3SIF F3>3AND F3<50THEN 650 



SGOTO 520 



PRINT 
Y=600; 
INPUT 
PRINT 



THE CORRECT FUEL RATE? (Y/N) 



MAX" SGOTO 650 



ONLY" SGOTO 650 



B* SPRINT " IS " F3 r "GAL/HR 
Y=630SY1=620SG0SUB 8800 
INPUT "ENTER TAKE-OFF GMT (XXXX) "JH 
IF H>2400THEN PRINT B* SPRINT "2400 HRS 
L0=INT(H/100)SL1=(H/100-L0) #100/60 
IF L1MTHEN PRINT BtSPRINT "60 MIN/HR 
FOR I=1T0 N 
A=P1(I)-P1(I+1) 
B1=P2(I)-P2(I+1) 
F -COS ( P2 ( I ) /U ) *C0S ( P2 ( I + 1 ) /U ) 
Q=P*C0S(ABS(A)/U)+C0S(ABS(B1)/U)-PSIF 
Q2=ATN ( SQR ( 1 -0*0 ) /Q > S 0=02*U*60 

C(I)=FN S6(0)SIF C(I)>900AND ABS( A)>30THEN PRINT 
IF C(I)=0THEN T(I)=Y(I)=E(I)=G(I)=0SR=0SG0T0 3520 
REM FIND TRUE CRS. 

S=FN S8( (P2(I)+P2(I+1) )/2)SIF S>=1THEN 1030 
S=FN S7(S) 

IF A>0AND Bl OOTHEN T=S SGOTO 1070 
IF A>>OAND Bl>OTHEN T=180-SSG0T0 1070 
IF A<0AND B1>0THEN T=180+SSG0T0 1070 
T=360-S 
T(I)=FN S6(T) 
REM FIND MAG. CRS. 
V1=(V(I)+V(I+1) )/2 
V1=FN S6(V1> 

IF V(I)-V(I+1)>=0THEN 1370 
IF V(I)>=0THEN 1360 
V2=V(I)-V1SG0T0 1400 
V2=U(I+l)-Vi:G0T0 1400 
IF V(I)<0THEN 1390 
V2=V1-V(I)SG0T0 1400 
V2=V1~V(I+1) 
Y(I)=T(I)+V2 
REM GET AVG.WIND VECT. 

IF S(I)=0AND S(I+1)-0THEN R2=0 SQ( I )=T ( I ) SGOTO 2010 
W3=MIN(W(I) fW(I + l) ) :U4==MAX(W(I) rU(I-fl) ) 
S3=S(I+1) SS4=S(I) 

IF U3=W(I)THEN S3=-S ( I ) S S4=-S( 1 + 1 ) 

IF S3O0AND S4=0THEN R2 = S3/2 S 0( I ) =W3 S GOTO 2010 
IF S3=0AND S4O0THEN R2=S4/2 : 0( I ) =W4 S GOTO 2010 
X==W4-W3SS1=S3*S3SS2 = S4*S4 

IF X=0THEN R2=(S3+S4)/2tO( [ )»U3 SGOTO 2010 
IF X = 180THEN R2=^0 S Q( I ) =T ( I ) S GOTO 2010 



OOTHEN PRINT BiSGOTO 8600 



B*SG0T0 8650 



Microcomputing February 1980 25 



01600 
01610 
01620 
01630 
01640 
01650 
01660 
01670 
01680 
02010 
02020 
02030 
02040 
02050 
02060 
02070 
02080 
02510 
02520 
02530 
02540 
02550 
02560 
02570 
02580 



02590 

03010 

03020 

03030 

03040 

03050 

03060 

03070 

03080 

03090 

03510 

03520 

03530 

03540 

03550 

03560 

03570 

03580 

03590 

03600 

03610 

04000 

04010 

04020 

04030 

04040 

04050 

04060 

04070 

04080 

04090 

04100 

04110 

04120 

04130 

04140 

04150 

05000 

05010 

05020 

05500 

05510 

05520 

07010 

07020 

07030 

07040 

08000 

08010 

08020 

08030 

08040 

08050 

08060 

08070 

08080 

08090 

08100 

08110 

08120 

08130 

08140 

08150 

08160 

08170 

08180 

08500 

08510 

08520 

08530 

08540 

08600 

08650 

08660 

08700 

08710 

08720 

08730 

08740 

08750 

08760 

08770 

08800 

08810 

08820 



R-A4+R2{G0T0 2570 



R»A4-R2:G0T0 2570 



IF X: 180THEN X=360-X 

R = S0R ( SI +S2-: > #S3*S4*C0S ( X/U ) ) 

G=<S2+R*R-S1)/<2*S4*R) 

R2=S0R ( ( S2+ ( R/2 ) * < R/2 ) ) -2*34* < R/2 > *G ) 

Xl= ( S2+R2*R2- ( R/2 ) * ( R/2 ) > / < 2*84*R2 ) 

x1=atn<sgr(1~x1*x1)/xi)*u 

if x: 180then ( i ) w4 + x1 : goto 1680 

g(i>=u4-xi:goto 2010 

if 0<i)>360then q< i )»q< i >-360 

u^abs(t<i)-q(i>) 

if mo iso then 2060 

if 0<ixt(i)th€n 2050 

w=360-g( i ) + t ■< i > :g0t0 20a0 

U=360-T(I)+Q< t ) 

B=(R2*FN S5(W) )/A4 

IF B>=1THEN 8«90tGOT0 2510 

1-FN 37(b) 

G=180-(W+B) 

J=FN S5(W) 

IF J-OTHEN 

T=FN S5(G) 

IF T=0THEN 

R=<A4*T)/J 

G(I)=FN S6(R) tIF 

PRINT B*{ PR I NT "LOW GROUND SPEED "P*<I)" -> "P* ( 1 + 1 )'.. .RESET ' 

GOTO 20 

IF J <I)+180>360THEN 3040 

IF «<I> T(I)AND G(IXT(I) + 180THEN 3050 

GOTO 3070 

IF G(IXT(I)AND G(I)>T<I)-180THEN 3070 

E(I)=Y(I)-B:iF B<=Y<I)THEN 3090 

E(I)=360-E<I> {GOTO 3090 

E<I>-Y<I>+B!IF E(I) O360THEN 3090 

E<I)=E(I)-360 

E(I)=FN S6(E<I) ) 

R=C(I)/G(I ) 

F(I)=INT<R) 

F1(I)=FN S6< <R-F<I) )*60) 

K(I)=FN S6<R*F3) 

R1=R1+R 

03=INT(R1 ) I04=<Rl-03> 

L3=INT(Ll+04) 

L2=INT<(Ll+04-L3>*600+ .5)/10 

J(I)=L2:iF C<I)=OTHEN J(I)=0 

IF I=N-1THEN 7010 

NEXT I 

PRINT TAB<9>'«* USING STORED DATA **' 

PRINT "ENTER POINT #"Ir" (L TO LIST)' 

LINE INPUT »Y* 

IF YVO'L'THEN 4080 

FOR G=1T0 6STEP 3!PRINT A* ( G)TAB( 14 > A* ( G+l ) TAB< 30) A*( G+2) {NEXT 

PRINT 

LINE INPUT 'AGAIN? <Y/N)*;Z»{IF Z*="Y"THEN 4040 

GOTO 4010 

FOR G=1T0 6: IF Y*OA*<G)THEN 4130 

P* ( I ) =A$ ( Q > : M=M ( G ) /60 t P 1 ( I ) =D < G ) +M 

M1=M1(G)/60:P2(I)=D1(G)+H1 



G(I)>50THEN 3010 
OW GROUND SPEED ' 



G 



V*<I)=V*<G) :V(I)=V(G) 

GOTO 500 

IF G=6THEN 5500 

NEXT G 

iOO 

SARASOTA' f82>33.2»27»23 
LAKELAND" ,82,1,27,59, "E 



GOTO 

DATA 

DATA 

DATA 

PRINT 

PRINT 

GOTO 



8,"E",0,"VENICE",82,26,27,5,"E",1 
,0,"PAH0KEE",80,42,26,47, 'E',0 
"ST.PETERSBURG",82,41.2,27,54.6,"E",0,"0CALA" ,82,13.4f29,10.3,"E",0 
B*:PRINT "NO DATA STORED/INPUT INCORRECT" 
•INPUT MUST BE EXACTLY SPELLED" 
4010 



L0=INT(L0+R1+L1) 

IF L2=60THEN L0=L0+1{L2=0 

IF L0O240R L2O0THEN IF L0>23THEN L0=L0-24{G0T0 7030 

04=INT<04*60+.5> 

REM FORMAT 

0-0101*0 

PRINT TAB (30) " DIST " TAB < 38 ) "MC " TAB ( 45 ) "MH" TAB ( 52 ) "GS" f 

PRINT TAB (60) " ETE " TAB ( 68 ) " ETA " TAB ( 73 ) "FUEL " 

PRINT TAB(9)"L0CATI0NS"TAB(30)"(NM)'TAB(37)'(DEG)"TAB(44)"<DEG) 

PRINT TAB<51) " ( KTS ) " TAB< 58 ) " < H : M) " TAB<67 ) " ( : XX ) " TAB< 73 > " < GAL ) " 

FOR I=1T0 N 

PRINT P*<I)TAB(13)"->"TAB<16)P$(I+1)TAB(29)C(I)TAB(36)Y<I)TAB(43)E(I)» 

PRINT TAB(50)G<I)TAB(57)F(I)TAB(59)F1(I)TAB(66)J(I)TAB(72)K(I) 

0=0+C(I) :oi=oi+i 



; 



IF 01O4THEN 
PRINT : PR I NT 
IF I=N-1THEN 
NEXT I 

PRINT t PR I NT 
PRINT "TOTAL 



8120 

TAB(25) 

8140 



(HIT 'RETURN' TO CONTINUE )" IPAUSE 



0»'NM'TAB(30)"TAS 0"A4"KTS" 
:"04"MINS"TAB<30)"DEPART G'HJ 
L0L2"GMT" 



GMT 



TABOO) "FUEL RATE 
■OUT? <Y/N)"»Z* 



8"F3"GAL/HR" 



EXCESSIVE 
EXCESSIVE 



RESET" tGOTO 20 
POSSIBLE COURSE 



'TOTAL DIST =' 

TIME ='03'HRS 
PRINT TAB<52) "FINAL ETA 0" 
F=R1*F3IF=FN S6(F) 
PRINT "AVG.FUEL USAGE ="F»"GALS 
PRINT ILINE INPUT "REPEAT PRINT- 
IF Z$="Y"THEN 8000 

LINE INPUT "ANOTHER PLAN? (Y/N)' 
IF Z»="Y"THEN 20 
END 

PRINT "DISTANCE "P*(D" TO "P*(I + D 
PRINT "DISTANCE "P*(I)" TO "P*<I+D 
PRINT "ERRORS DUE TO RHUMB LINE. RESET" {GOTO 20 

PRINT TAB(12)"N0TE: IF YOU PROMPT AN ERROR MESSAGE FROM THE BASIC" 
PRINT "INTERPRETER* YOU USUALLY MAY PROCEED BY TYPING 'CONTINUE' AND" 
PRINT "HITTING 'RETURN'. THIS TYPE ERROR MESSAGE WILL BE PREDEDED BY t 
PRINT "BELL AND BE OF THE FOLLOWING FORMAT -" {PRINT CHR$<7) 
PRINT TAB(15)"! ERROR - SYNTAX ERROR AT LINE 230' {PRINT 
PRINT " THERE ARE OTHER ERROR MESSAGES GENERATED BY NAVPROG. THESE 
PRINT 'WILL NOT ALLOW YOU TO 'CONTINUE' FROM THE POINT OF THE ERROR." 
RETURN 

LINE INPUT »Z*{IF Z$="Y'THEN 
IF 2% <: : "N'THEN PRINT B*{GOTO 
GOTO LNO(Yl) 



RETURN 
LNO(Y) 



need clarification. The symbol 
-* indicates the results follow- 
ing on the same line refer to 
that part of the flight going 
from the location preceding the 
symbol to the location follow- 
ing the symbol. 

The results are given using 
the following terms: DIST— dis- 
tance in nautical miles; MC— 
magnetic course in degrees; 
MH— magnetic heading in de- 
grees; GS— ground speed in 
knots; ETE— estimated time en 
route in hours and minutes; 
ETA— estimated time of arrival 
at the second of the two loca- 
tions indicated (given in min- 
utes after the hour); FUEL— 
average gallons of fuel used en 
route; TAS— refers to true air- 
speed, which is considered as 
the airplane's speed through 
the air. 

One of the peculiarities of 
this system is the PAUSE state- 
ment used in line 8110. You 
must hit the return key for pro- 
gram execution to continue at 
that point. 

Conclusion 

I have tried to make NAV- 
PROG as simple as possible so 
that infrequent usage will not 
require refamiliarization by 
looking at notes on program 
functions. Also, the program 
has been set up to make expan- 
sion of the program easier. You 
will notice in line 1070 that true 
course T(l) is available for use if 
desired by the user even though 
it is not displayed in the results 
of the present program. 

Finally, NAVPROG is what I 
consider to be a large program, 
but it can be analyzed as sever- 
al smaller programs tied to- 
gether. If you have thought 
about writing a program but 
were hesitant because you felt 
it would be beyond your capa- 
bility, try breaking your idea 
down into smaller parts. After 
you work the smaller parts out, 
tie them all together. That's 
how I wrote NAVPROG. 

Patience is also necessary. 
This program has taken me 
more than six months to write 
in my spare time and has in- 
volved a few trips to the Tampa 
Heathkit Electronic Center to 
use their DEC La 36 for hard 
copy.B 



26 Microcomputing February 1980 



6809 PROCESSING POWER! 

The Percom SBC/9 . Only $199.95. 




runy compatible with fie SS-50>*J5 — ■ 
I requiring no modification of tljeTmother m 
(board, memory or lrC^$*^te~s==u^^ 
' SBC/9 ^ is also aj cojwplete, single- 
board control conjptffer with its own 
ROM operatingf^ys4ew^ W( ^BA^ 
peripheral ports and a full-range baiH 
clock generator. 



Make the SBC/9 the heart of your computer and put to work 
the most outstanding microprocessor available, the 6809. 



the Mighty 6809 

Featuring more addressing modes 
than any other eight-bit processor, 
position-independent coding, special 
16-bit instructions, efficient argu- 
ment-passing calls, autoincrement/ 
autodecrement and more, it's no won- 
der the 6809 has been called the "pro- 
grammers dream machine." 

Moreover, with the 6809 you get a 
microprocessor whose programs typ- 
ically use only one-half to two-thirds as 
much RAM space as required for 6800 
systems, and run faster besides. 

And to complement the extraordi- 
nary 6809, the Percom design team 
has developed PSYMON™, an extraor- 
dinary 6809 operating system for the 
SBC/9'". 

PSYMON - — Percom SYstem MONitor 

Although PSYMON'" includes a full 
complement of operating system 
commands and 15 externally callable 

" trademark of Percom Data Company, Inc. 



utilities, what really sets PSYMON™ 
apart is its easy hardware adaptability 
and command extensibility. 

For hardware interfacing, you 
merely use simple, specific device 
driver routines that reference a table of 
parameters called a Device Control 
Block (DCB). Using this technique, in- 
terfacing routines are independent of 
the operating system. 

The basic PSYMON 1 " command 
repertoire may be readily enhanced or 
modified. When PSYMON™ first re- 
ceives system control, it initializes its 
RAM area, configures its console and 
then 'looks ahead' for an optional sec- 
ond ROM which you install in a socket 
provided on the SBC/9~ card. This 
ROM contains your own routines that 
may alter PSYMON™ pointers and 
either subtly or radically modify the 
PSYMON™ command set. If a second 
ROM is not installed, control returns 
immediately to PSYMON™ 



Provision for multi-address, 8-bit bidirec- 
tional parallel I/O data lines for interfac- 
ing to devices such as an encoded 
keyboard. 

A serial interface Reader Control output 
for a cassette, tape punch/reader or simi- 
lar device. 

An intelligent data bus: multi-level data 
bus decoding that allows multiprocess- 
ing and bus multiplexing of other bus 
masters. 

Extended address line capability — ac- 
commodating up to 16 megabytes of 
memory — that does not disable the on- 
board baud rate clock or require addi- 
tional hardware in I/O slots. 

On-board devices which are fully de- 
coded so that off-card devices may use 
adjoining memory space. 

Fully buffered address, control and data 
lines. 



The SBC/9'", complete with PSYMON™ in 
ROM, 1K of RAM and a comprehensive 
users manual™ costs just $199.95. 



PEFCOM 



^P82 



PERCOM DATA COMPANY, INC. 

211 N KIRBY GARLAND. TEXAS 75042 

(214)272-3421 

Percom 'peripherals for personal computing 9 



To place an order or request additional literature 
call toll-free 1-800-527-1592. For technical infor- 
mation call (214) 272-3421 . Orders may be paid by 
check, money order, COD or charged to a VISA or 
Master Charge account. Texas residents must add 
5% sales tax. 

PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE 






Welcome to Percom's Wide World 




Each LFD mini-disk storage system 
includes: 

• drives with integral power 
supplies in an enamel-finished 
enclosure 

• a controller/interface with ROM 
operating system plus extra ROM 
capacity 

• an interconnecting cable 

• a comprehensive 80-page users 
manual 



♦^P67 



Low-Cost Mini-Disk Storage in the Size You Want 



Percom LFD mini-disk drive 
systems are supplied complete 
and ready to plug in the moment 
they arrive. You don't even have 
to buy extra memory. Moreover, 
software support ranges from 
assembly language program 
development aids to high-speed 
disk operating systems and 
business application programs. 

Mini-disk storage system prices: 



The LFD-400® and -400EX® systems 
and the LFD-800® and -800EX® systems 
are available in 1-, 2- and 3-drive 
configurations. The -400, -400EX drives 
store 102K bytes of formatted data on 
40-track disks, and data may be stored on 
either surface of a disk. The -800, -800EX 
drives store 200K bytes of formatted data 
on 77-track disks. 

The LFD- 1000^ systems (not pictured) 
have dual-drive units which store 800K 
bytes on-line. The LFD-1000® 1 controller 
accommodates two drive systems so that 
a user may have as much as 1 .6M bytes 
on-line. 





1 -DRIVE 


2-DRIVE 


3-DRIVE 


MODEL 


SYSTEM 


SYSTEM 


SYSTEM 


FortheSS-50Bus: 








LFD-400® 


$ 599.95 


$ 999.95 


$1399.95 


LFD-800™ 


895.95 


1549.95 


2195.95 


For the EXORciser* Bus: 








LFD-400EX® 


$ 649.95 


$1049.95 


$1449.95 


LFD-800EX® 


945.95 


1599.95 


2245.95 


LFD- 1000® 


(dual) $2495.00 


(quad) $4950.00 


— - 




EXORciser Bus LFD-400EXP -800E *® Systems 




^P68 



Upgrade to 6809 Computing Power. Only $69.95 



Although designed with the SWTP 6800 owner in 
mind, this upgrade adapter may also be used with 
most other 6800 and 6802 M PUs. The adapter is 
supplied assembled and tested, and includes the 
6809 IC, a crystal, other essential components and 
user instructions. Restore your original system by 
merely unplugging the adapter and a wire-iumpered 



DIP header, and re-inserting the original 
components. Also available for your upgraded 
system is PSYM0N rM) (Percom SYstem MONitor), 
the operating system for the Percom 6809 
single-board computer. PSYMON® on 2716 ROM 
costs only $69.95. On diskette (source and object 
files), only $29.95. 



Data Terminal & Two-Cassette 
Interface — the CIS-30+ 



RATE 
300 


TERMINAL 
UNI 




TARE 

ON 


1200 


IOCAI 


• 


AUTO 


PEFQCM 






CIS-30 + 



• Interface to data terminal and two cassette recorders 
with a unit only 1/10 the size of SWTP's AC-30. 

• Select 30, 60 or 120 bytes per second cassette 
interfacing; 300, 600 or 1200 baud data terminal 
interfacing. 

• Optional mod kits make CIS-30+ work with any 
microcomputer. (For MITS 680b, ask for Tech Memo 
TM-CIS-30+-09.) 

• KC Standard/Bi-Phase-M (double frequency) cassette 
data encoding. Dependable self-clocking operation. 

• Ordinary functions may be accomplished with 6800 
Mikbug* monitor 

Prices: Kit, $79.95; Assented, $99.%. Prices vuclucte 
a comprehensive instruction manual. Also available: Test 
Cassette, Remote Control Kit (for program control of 
recorders), IC Socket Kit, MITS 680b mod documentation 
and Universal Adapter Kit (converts CJS-30+ for use with 
anv computer). 



of 6800 Microcomputing. 




6800/6809 SOFTWARE 

System Software 

6800 Symbolic Assembler — Specify assembly options 
at time of assembly with this symbolic assembler. Source 

listing on diskette $29.95 

Super BASIC — a 1 2K extended random access disk BASIC 
for the 6800 and 6809. Supports 44 commands and 31 func- 
tions. Interprets programs written in both SWTP 8K BASIC 
(versions 2.0, 2.2 & 2.3) and Super BASIC. Features: 9-digit 
BCD arithmetic, Print Using and Linput commands, and much 

more. Price $49.95 

TOUCHUP tm:) — Modifies TSC's Text Editor and Text Pro- 
cessor for Percom mini-disk drive operation. Supplied on 
diskette complete with source listing $17.95 

Operating Systems 

INDEX® — This easy-to-use disk-operating and file man- 
agement system for 6800 microcomputers is fast. I/O devices 
are serviced by interrupt request. INDEX^ accesses peripherals 
the same as disk files — new devices may be added without 
changing the operating system. Other features: unlimited 
number of DOS commands may be added • over 60 system 
entry points • display only those files at or above user-specified 
file activity level • versions available for SWTP MF-68, Smoke's 

BFD-68 and Motorola's EXORciser*. Price $99.95 

MINIDOS-PLUSX® — An extension of the original 
MINIDOS» for LFD-400^ mini-disk systems, MINIDOS- 
PLUSX® manipulates files by six-character names. Supports 
up to 31 files. Resident commands include Initialize, Save, 
Allocate, Load, Files (directory list), Rename and Delete. 
Supplied on 2708 ROM with a minidiskette that includes 
transient utilities such as Copy, Backup, Create, Pack and Print 
Directory. Price $34 95 

PSYMON® — Percom SYstem MONitor for the Percom 
single-board/ SS-50-bus-compatible 6809 computer accom- 
modates user's application programs with any mix of peripher- 
als without modifying programs. PSYMON® also features 
character echoing to devices other than the communicating 
device, sophisticated register and memory dump routines and 

more. Price (on 2716 ROM) $69.95. 

WINDEX® — Described in detail elsewhere on this page. 

Business Programs 

General Ledger — For 680076809 computers using Per- 
com LFD mini-disk storage systems. Requires little or no 
knowledge of bookkeeping because the operator is prompted 
with non-technical questions during data entry. General Ledger 
updates account balances immediately — in real time, and will 
print financial statements immediately after journal entries. User 
selects and assigns own account numbers; tailors financial 
statements to firm's particular needs. Provides audit trail. Runs 
under Percom Super BASIC. Requires 24K bytes of RAM. 
Supplied on minidiskette with a comprehensive users manual. 
Price $199.95. 

FINDER® — This general purpose data base manager is 
written in Percom Super BASIC. Works wth 6800/6809 com- 
puters using Percom LFD-400® mini-disk drive storage sys- 
tems. FINDER® allows user to define and access records using 
his own terminology — customize file structures to specific 
needs. Basic commands are New, Change, Delete, Find and 
Pack. Add up to three user-defined commands. FINDER plus 
Super BASIC require 24K bytes of RAM. Supplied on minidisk- 
ette with a users manual. Price $99.95 

Mailing List Processor — Powerful search, sort, create 
and update capability plus ability to store 700 addresses per 
minidiskette make this list processor efficient and easy to use. 
Runs under Percom Super BASIC. Requires 24K bytes of RAM. 
Supplied on minidiskette with a users manual. Price $99.95. 

From the Software Works 

Development and debugging programs for 6800 nCs on disk- 
ette: 

Disassembler/ Source Generator $30.95 

Reloc'tng Disas'mblr/ Segmented Text Gen $40.95 

Disassembler/ Trace $25.95 

Support Relocator Program $25.95 

Relocating Assembler/Linking Loader $55.95 

SmithBUG** (2716 EPROM) $70.00 



1 /2-Price Special on Hemenway Software! 

CP/68* disk operating system $ 49.97 

STRUBAL+t compiler $124.97 

EDIT68 text editor $ 19.97 

MACRO-Relocating Assembler $ 39.97 

Linkage Editor (LNKEDT68) $ 24.97 

Cross Reference utility $ 14.97 



""trademark of Percom Data Company, Inc. ^ P70 

* trademark of Motorola Corporation 

^Trademark of Hemenway Associates Company 

* 'SmithBUG is a trademark of the Software Works Company 




This programmable VIDEO DISPLA Y CONTROLLER 

processes display changes in- 
stantly in real-time. The Electric 
Window™ resides completely in 
main memory so control is ac- 
complished by direct MPU access 
to the character-store memory and 
display control registers. Peer at 
the screen and you look right into 
video display memory space while 
you input and manipulate text — 
an indispensable feature for effi- 
cient screen editing and word 
processing. The Electric Win- 
dow™ It's worth looking into. Fea- 
tures include: 

• Programmable CRT controller chip that 
provides extraordinary versatility in 
software control of horizontal and verti- 
cal formatting, cursor positioning, scrol- 
ling and Start/Reset functions. 

• A standard ASCII 128-unit ROM charac- 
ter generator which generates easy-to- 
read 7x12 dot-matrix characters with 
lower case descenders. Plus . . . 

• Provision for an optional ROM that may 
be programmed for special symbols or 
characters. 

• Resides entirely in 2K on-board RAM 
mapped into main memory. 

Now Available! the SBC/9 MPU/ Control Computer 

(Single-Board-Computer/6809) — stands alone as a control computer, but also ^m 
compatible with the SS-50 bus for use as an MPU card. Includes PSYMON®> (Percom 
SYstem MONitor) in a 1K ROM and provides for additional 1K of ROM. Also includes 1K 
of RAM. Features: Super Port — provision for multi-address, 8-bit bidirectional data 
lines • an intelligent data bus for multi-level data bus decoding • an on-board 110-baud 
to 19.2 kbaud clock generator • extended address capability — to 16 megabytes — 
without disabling baud clock or adding hardware. And much more. Supplied with 
PSYMON® and comprehensive users manual. Price $199.95. 

See full page ad elsewhere in this magazine for all of the SBC/9 features. 

^^_^^ J _^^ JJ _ .._ , [ i tt ti i )t t ^ i 

Full Feature Prototyping PC Boards 



All of the features needed for rapid, 
straightforward circuit prototyping. Use 
14-, 16-, 24- and 40-pin DIP sockets 
• SS-50 bus card accommodates 34- and 
50-pin ribbon connectors on top edge, 
10-pin Molex connector on side edge- I/O 
card accommodates 34-pin ribbon 
connector and 12-pin Molex on top edge 



The Electric Window.® 
Worth Looking Into. $249. 9§ 

• An optional software driver program called WIN- 
DEX™ that complements the fast, hardware- 
implemented functional capability of the controller. 
WINDEX™ will auto-link to PSYMON™, the 
monitor for the Percom SBC/9™ single board 
computer The ROM version of WINDEX™ costs 
$39.95. The minidiskette version (with source and 
object files) sells for $29.95. 

• Up to 24 80-character lines — programmable. 

• Program control of display highlighting. 

• Program interlaced or non-interlaced scan. 

• Use either standard video monitor or modifi&tf tv. 




: $14.95 





iiiiiiiiii l ii , - | -- L 'TTYmmTTTTTTTTTTft 

SS-50 Bus Card: $24.95 



• I/O card is 1- 1 /4 inches higher than 
SWTP I/O card* interdigitated power 
conductors • contacts for power regulator? 
and distributed capacitance bypassing 

• use wire wrap, wiring pencil or solder 
wiring • tin-lead plating over 2-oz copper 
conductors wets quickly, solders easily 

• FR4-G10 epoxy-giass substrate. 



• P73 



To place an order or request additional literature call toll- 
free 1-800-527-1592. For technical information call (214) 
272-3421 . Orders may be paid by check, money order, COD or 
charged to a VISA or Master Charge account. Texas residents 
must add 5% sales tax. 

PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE. 



PEfiGOM 



PERCOM DATA COMPANY. INC. 

211 N. KIRBY GARLAND. TEXAS 75042 
(214)272-3421 




Sample of 500 numbers. 




Sample of 2500 numbers 



Even 
More 

Randomness 



Coverage of random numbers can never be 
exhausted. Here's more information. 




Sample of 250,000 numbers. 



Bertram A. Thiel 
159 West Main St. 
Frostburg MD 21532 



Several excellent articles 
have recently appeared in 
Microcomputing about random 
numbers, their accuracy and 
normal distribution. The two 
programs given here are for the 
TRS-80 and have been used as a 
practical illustration for those 
interested in direct observation 
of randomness and normal dis- 
tribution. 

Listing 1 asks you for a 
number greater than 250 and 
will default to this value if a 



smaller number is entered. After 
entry, an approximate time of 
completion is returned to let you 
know if you have time to make a 
cup of coffee, take a shower or 
have a full night's sleep. The ran- 
dom numbers, as they are se- 
lected will follow immediately. 
The function RND (100) in the 
TRS-80 BASIC returns a random 
number between 1 and 100; if 
you use another dialect of 
BASIC that does not allow this, 
then substitute RND (n) *100. 
Each number that occurs is 
counted by incrementing the C 
matrix of the same number. 

As you watch these numbers 
flying by, perhaps you will get a 



30 Microcomputing February 1980 



feeling for what randomness is; 
you may find yourself looking 
for occurrences of the same 
number twice or three times in a 
row, or even betting with a friend 
on the next occurrence of qua- 
druples. Every 1000 numbers 
will be followed by a statement 
of how far into the calculation 
the computer is (this is a typical 
anti-nail-biting subroutine). 
When all the numbers have been 
selected, they are displayed by 
the SET instruction after being 
reduced by a varying factor that 
is determined by your original 
choice of sample number. The 
end of the program is a loop to 
keep a neat display. 

Hit the break key when you 
are ready to run it again. Try 250 
samples and note the "New 
York skyline" effect. Then in- 
crease the number of samples in 



successive runs and see how 
long it takes to turn the skyline 
into a single block of concrete. 
The numbers at the top tell how 
many of each number occurred 
from 1 to 100, and if you try for 
half a million samples, you 
might have to eliminate line 130 
in listing 1 in order to keep the 
numbers from running into the 
graph. 

Normal Distribution 

If you take several random 
numbers, say ten, and record 
how many times their sum re- 
peats within a large selection, 
the result will be the boon to 
teachers (the bane of "students), 
the normal curve, oft called 
"bell" because of the shape. If 
the theory holds true, the result 
will be symmetrical either side 
of center, in this case 50. 



Listing 2 takes ten random 
numbers from to 10 for as 
many times as you select at the 
beginning of the program, and 
completion time will be shown. 
When completed, the numbers 
are printed at the top, and the 
graph starts at 15 and ends at 
85; this is to accommodate the 
amount of space the curve and 
numbers require. 

Originally, I used LET N = N 
+ RND (10) in line 120 (Listing 2), 
and found my curve to be 
centered at about 55 rather than 
50. Disillusionment set in; hor- 
rors, my TRS-80 wasn't perfect! I 
should have known better. 

After a few days of moping 
around the house, I retyped the 
program, and when I got to the 
RND (10) statement, it occurred 
to me that if you use numbers 
from one to ten ten times you 



can't possibly get anything be- 
low 10; thus my observation of 
the curve centered on 55 was 
correct— that's halfway be- 
tween 10 and 100. Ah! The intri- 
cacies of statistics were start- 
ing to reveal themselves. 

Run the program a few times, 
take a greater or lesser number 
of random numbers per sample 
or try another computer. Modify 
the algorithm (lines 100 to 130) 
by taking more or less sums of 
random numbers to see the 
changes in the final curves. 
What kind of changes will cause 
the curve to sheer to one side or 
to have two or more humps? 

I suppose reading a book on 
statistics would answer these 
questions, but this method (trial 
and error) makes learning more 
permanent, and it's a lot more 
funll 



I 


1 REM * NORMAL CURVE DEMONSTRATION 


1 REM * RANDOM NUMBER DEMONSTRATION 


2 REM * B A THIEL, FROSTBURG MD, JUNE 1979 


2 REM * B A THIEL, FROSTBURG MD, JUNE 1979 


10 CLS 


10 CLS 


20 DIM C(100) 


15 Fl=l 


30 INPUT "ENTER NUMBER OF SAMPLES GREATER THAN 250 ";J 


20 DIM C(100) 


40 IF J<250 THEN LET J=250 


30 INPUT "ENTER NUMBER OF SAMPLES GREATER THAN 250 M ;J 


50 LET T=INT(1.65*(J/250)+.05)/100 


40 IF J<250 THEN LET J=250 


60 PRINT "TIME FOR CALCULATION WILL BE";T;" HOURS" 


50 LET T=INT(.37*(J/250)+.05)/100 


70 FOR Y=l TO J 


60 PRINT "TIME FOR CALCULATION WILL BE";T;" HOURS" 


80 LET F=F+1 


70 FOR Y=l TO J 


90 IF F=1000 THEN G0SUB 270 


80 LET F=F+1 


100 LET N=0 


90 IF F=1000 THEN G0SUB 270 


110 FOR X=l TO 10 


120 LET N=RND(100) 


120 LET N=N+RND(11)-1 


130 PRINT N; 


130 NEXT X 


150 LET C(N)=C(N)+1 


140 PRINT N; 


160 NEXT Y 


150 LET C(N)=C(N)+1 


170 CLS 


160 NEXT Y 


180 FOR X=l TO 100 


170 CLS 


190 PRINT C(X); 


180 FOR X=15 TO 85 


200 LET Y=47-C(X)/F1 


190 PRINT C(X); 


210 FOR R=47 TO Y STEP-1 


200 LET Y=47-C(X)/(l+INT((J-250)/500)) 


220 SET (X,R) 


210 FOR R=47 TO Y STEP-1 


230 NEXT R 


220 SET (X,R) 


240 NEXT X 


230 NEXT R 


250 PRINT "DEMONSTRATION RANDOM CURVE F0R";J;" NUMBERS" 


240 NEXT X 


260 GOTO 260 : REM * END OF PROGRAM 


250 PRINT " DEMONSTRATION BELL CURVE F0R";J;" NUMBERS" 


270 LET F1=F1+1 


260 GOTO 260: REM * END OF PROGRAM 


280 LET F=0 


270 LET F=0 


290 PRINT 


280 PRINT 


300 PRINT "CURRENT COUNT IS";Y;" 0F";J 


290 PRINT "CURRENT COUNT IS";Y;" 0F";J 


310 RETURN 


300 RETURN 


Listing 1. 


Listing 2. 



Microcomputing February 1980 31 



Audio for 

Your Microcomputer 



Use American Micro Products' MicroSounder to create sound and music with your computer. 



Rod Ha lien 
Road Runner Ranch 
PO Box 73 
Tombstone AZ 85638 



When asked the question, 
"But what can your per- 
sonal computer do?" I have 
been known to answer, "That is 
limited only by my imagina- 
tion!" This is perhaps a 



mi* mr mi 



simplification of the truth, 
because I am also limited by my 
hardware. I couldn't print 
manuscripts and programs if I 
didn't have a printer; I couldn't 
enjoy the benefits of CP/M if I 
didn't have a floppy-disk sys- 
tem, and so forth. 

I've played with computer- 
generated sound quite a bit. In 
an article titled "Music, Music 
and More Music," in the 
November 1978 issue of 



Kilobaud (p.82), I described Soft- 
ware Technology's "Music 
System." I have also taught my 
computer to generate tones for 
various purposes. 

For instance, I have one pro- 
gram that creates Morse code 
when characters are entered 
from the keyboard. My math 
tutorial program gives a two- 
tone wail that sounds like a 
European police horn when the 
student misses a question and a 




The MicroSounder sound-generating device. Note the uncluttered layout and the "Kluge" area in the 
upper right-hand corner of the board. The board is shown sitting on top of the circuit design layout that 
created it. 



wolf whistle when he gets one 
right. 

These effective, but relatively 
crude, sounds are created by 
toggling a data lead rapidly 
between and 5 V dc. The result 
is a square wave with lots of har- 
monics. Contrast this to the out- 
put of the computer-controlled 
hardware sine wave oscillator 
with its comparatively clean 
tones that I described in an 
article titled "Analog and Digital 
Interfaces" (March 1979 
Microcomputing, p.40). 

I was, therefore, extremely 
interested when I first saw an 
advertisement for the Micro- 
Sounder S-100 sound-generat- 
ing device ($179, American Mi- 
cro Products, Inc., 6550 Tarnef, 
Houston TX 77074). It claimed 
that the MicroSounder could be 
programmed to generate 
sounds such as a train, explo- 
sion, siren, bird call and much 
more. I would have been a little 
skeptical, except that by coin- 
cidence I received a brochure 
from Texas Instruments about 
the same time describing their 
SN76477N Complex Sound IC, 
which is the heart of the Micro- 
Sounder. 

Almost before I knew it, I had 
a MicroSounder, which comes 
completely assembled and 
tested, in my hands. Three 
minutes out of the box, it was 
making like a train. Credit for 
this extremely quick conversion 
goes to a two-page section at 
the front of the manual titled 
"How to Get Your New Micro- 



32 Microcomputing February 1980 




SEVEN 

OUTPUT 

PORTS 



SPARE 
PORT 



D/R 



BLOCK DIAGRAM 



ONE SHOT R' 



D/R 



ATTACK R 



D/R 



D/R 



VCO "R" 



D/R 



D/R 



NOISE FILTER "R" 



D/C 



ONE SHOT "C' 



D/C 



ATK DEC C" 



D/C 



VCO C 



D/C 



SLF 



D/A 



D/A 



PITCH 



VCO cont 



DIGITAL CONTROL 







SN76477 



PROTOTYPE 
AREA 



r 



VOLUME 



AMP. 




SPEAKER 



♦ EXT AMP 



Fig. 1. Block diagram of the MicroSounder. Seven output ports con- 
trol various digital latches, which control the parameters of the 
SN76477N as explained in the text. 



Sounder Up and Running 
Immediately." This is an 
outstanding idea! You are going 
to spend a lot of time learning 
how to make the MicroSounder 
do exactly what you want it to 
do, but in the meantime you can 
see some immediate results. 

Hardware 

Before I describe what this 
S-100 sound-generating board 
can do, let's look at it from a 
hardware point of view. The 
accompanying photo shows the 
MicroSounder sitting on top of 
the pasted-up layout that was 
used to create the negative that 
was, in turn, used to create the 
printed circuit board. The most 
prominent feature on the board 
is the SN76477 mounted top 
center. My 76477 is installed in a 
socket and not soldered as 
shown, but the rest of the ICs 
are permanently(?) mounted on 
the board. I do not like soldered 
ICs, and that is the only real 
complaint that I have had with 
MicroSounder. 

The entire center one-third of 
the board is taken up with 
SN74LS175 quad flip-flops. 
These latch the various 
resistors and capacitors that 
control the 76477 parameters. 
The vacant sockets at the right 
center of the board are for two 



more 74LS175s that you can 
supply if you want to implement 
a spare parallel output port. This 
is a standard latched port, 
which can be used to turn things 
on and off in time with the sound 
that you are creating. It can also 
be used as an output port com- 
pletely independent from the 
rest of the board. 



Fig. 1 is a block diagram of 
the MicroSounder. The D/R 
(digitally selected resistors), the 
D/C (digitally selected 
capacitors) and the D/A (digital- 
to-analog conversion) blocks 
are all latched and will remain 
constant until you change them. 

Notice the holes in the upper 
right-hand corner of the board in 
the photo. This is known as a 
"Kluge" area, which means that 
you can build little circuits of 
your own there if you like. I have 
seen many other PC boards that 
also contained a "Kluge" area, 
and I always figured that it was 
something left over from the 
circuit board designer's 
daydreams! In any case, I've 
found a very good use for this 
area, as we shall see a little 
later. 

The Tl SN76477N 

Fig. 2 is a block diagram of 
the 76477. There is an enormous 
amount of hardware packed into 
this chip. Trying to implement 
these functions with discrete 
components or even TTL IC 
logic would be like trying to 
replace your microprocessor in 
the same fashion. I don't know 
which generation this chip 
belongs to, but from now on we 
are going to be seeing more and 
more new ICs that contain en- 



tire complex functions in one 
chip. The new disk and video 
controllers are other good ex- 
amples. 

The basis for sound genera- 
tion by the 76477 is two voltage- 
controlled oscillators (VCO and 
SLF) and a noise generator. 
These three sound sources can 
be controlled in an almost 
infinite number of ways. Note 
that the inputs to the VCO in- 
clude pitch control, VCO control 
and also control by an external 
VCO or the SLF. The SLF (super 
low frequency) oscillator can, in 
turn, be controlled externally as 
can the noise generator. 

Once sounds have been pro- 
duced by these three sources, 
they are sent to the mixer, where 
any or all of them can be passed 
on to the envelope generator 
and modulator. There the 
envelope, which includes attack 
and decay control, is selected. 
The result is amplified and exits 
at audio out. 

Everything that I have de- 
scribed in these two paragraphs 
is software programmable, 
which is the function of the 
74LS175 latches mentioned 
earlier. This has been a neces- 
sarily brief description. The Tl 
76477 chapter in the Micro- 
Sounder manual consists of 38 
pages and does a much better 



O 
□ 
A 

o 



DENOTES PROGRAMMING VIA CAPACITOR 
DENOTES PROGRAMMING VIA RESISTOR 
DENOTES PROGRAMMING VIA LOGIC LEVEL 
DENOTES PROGRAMMING VIA ANALOG VOLTAGE 



VCO 
SELECT 

V 

22 



EXTERNAL 
VCO CONTROL 



PITCH 
CONTROL 



20 



SLF 
CONTROL 



D 



O^ 



NOISE _ 4 

CLOCK _J 

CONTROL 



EXTERNAL iv. 

NOISE CLOCK \S~ 



SYSTEM ps^ 
ENABLE ^ 



SUPER LOW 
FREQUENCY 
OSCILLATOR 
(SLF) 



/W\ 



o 



EXTERNAL 
OR SLF 
SELECT 



VCO 



O 



It 



I9 



VCO 



j-ltltl 



NOISE 
CLOCK 



NOISE 
GENERATOR 



SYSTEM 
ENABLE 
LOGIC 



ONE 

SHOT 

CIRCUIT 



23 



NOISE 
FILTER 



II 



17 



a 
o 



VCO 
CONTROL 



-a 
o 



NOISE 

FILTER 
CONTROL 



MIXER 



ENVELOPE 

SELECT 

LOGIC 



24 



6 D 



28 



ONE SHOT 
CONTROL 



A A 
I 2 
ENVELOPE 
SELECT 



26 



2b 



ENVELOPE 
GENERATOR 
AND 
MODULATOR 



27 



AAA o 



I0 



a 




V REG ( 5V) 
VCC (>7.5V) 
GROUND 



FEEDBACK 
RESISTOR 



AUDIO 
OUTPUT 



D □ 



B C 



MIXER 
SELECT 



ATTACK 
DECAY 
TIMING 
CAP 



ATTACK 
CONTROL 



DECAY 
CONTROL 



AMPLITUDE 
CONTROL 



Fig. 2. Block diagram of the Tl SN76477N Complex Sound Integrated Circuit. All of this is contained in 
one 28-pin DIP IC In a situation where only one sound is required, each of the control leads can be hard- 
wired to the necessary resistor and capacitor combinations. The MicroSounder, however, controls these 
parameters under program control, making an infinite variety of sounds available. 



Microcomputing February 1980 33 



Port 




Bits 






Function 







0-3 
4-7 






One-Shot Resistor 
SLF Resistor 


1 




0-3 
4-7 






Decay Resistor 
Attack Resistor 


2 




0-3 
4-7 






VCO Resistor 
Noise Filter Resistor 


3 




0,1 
2,3 
4.5 
6,7 






SLF Cap. 
One-Shot Cap. 
Attack-Decay Cap. 
VCO Cap. 


4 




0-3 






Pitch D-A converter 


5 




0-5 






VCO Ext Cont. D-A 


6 






1-3 
4,5 
6 

7 






System Enable 
Mixer Select 
Env. Select 
VCO Cont. Select 
SLF Sync 


Table 1. 


Functions of the seven 


output ports that control the 


MicroSounder. 


All of this is 


latched and will remain the same 


until you programmatically change 


it. Using Create to change 


these values one at a time, 


you 


car 


I produce some interesting 


results. 













1W OUT 0,255 
110 OUT 1,0 
120 OUT 2,22 
130 OUT 3,137 
140 OUT 4,63 
150 OUT 5,0 
160 OUT 6,30 

Program 1. When this pro- 
gram is fed to the Micro- 
Sounder, it will produce a 
very realistic siren sound. 
Changing port to a larger 
value will decrease the rate 
of change of the siren, and 
changing it to a smaller value 
will increase the rate. If your 
version of BASIC allows you 
to use statements as com- 
mands, then the program 
can be entered from the 
keyboard without line 
numbers, and each param- 
eter will be set as it is typed. 
This program could also be 
implemented in 8080 or Z-80 
assembly language using 
the OUT mnemonic. 



job of explaining all of the func- 
tions and options available. 

Software 

Basically, the MicroSounder 
consists of seven parallel out- 
put ports (Fig. 1). The sounds 
generated are controlled by 
what you send to these ports. 
Table 1 shows what each of 
these ports controls. Using 
either assembly language or 
BASIC, you send values to these 
ports to create the sounds that 



you desire. The MicroSounder 
requires eight output ports, and 
on-board strapping allows you 
to select addresses that won't 
conflict with your present I/O 
configuration. 

Program 1 will generate a 
siren, which will continue until 
you shut it off. System Enable is 
port 6, bit 0. An OUT 6,1 in BASIC 
will turn the sound off, and an 
OUT 6,30 will turn it back on 
again. Actually, any odd number 
to port 6 will turn the sound off, 
and any even number will turn it 
back on again, but we need the 
OUT 6,30 because we are also 
controlling other parameters 
with the same port. 

The manual contains the port 
information for some other 
sounds and also contains four 
interesting BASIC programs: 
two games (Bomber and Space) 
and two programs (Work and 
Create) designed to help you 
create various sounds. Unfor- 
tunately, these programs are 
written in Poly BASIC, which I 
am not familiar with and which 
has some unusual statements. 

After I finally figured out that 
PLOT is used to position the cur- 
sor and that Z = INP(1) means 
read one character from the 
keyboard, I rewrote Work and 
Create in Microsoft Extended 
Disk BASIC. I have provided 
American Micro Products with 
copies of both of these and I 
hope they will include them in 
the manual or make them 
available upon request, because 



I am sure that the use of 
Microsoft BASIC is much more 
extensive than that of Poly 
BASIC. 

Create allows you to change 
various parameters of the 76477 
while listening to the result. A 
menu that displays each of the 
controls listed in Table 1 and 
their limits is placed on the 
screen, and you are given the 
chance to change them one at a 
time in any desired amount. 
After each change, all of the 
values currently in effect are 
displayed, and you are listening 
to the sound that these values 
create. 

When you are satisfied that 
you have the sound you want, 
you go to an output routine that 
prints the port values on the 
screen as shown in Table 2. This 
is the same siren sound as in 
Program 1. Note that I have 
addressed the board for Out 
ports 128 to 134. My version of 
Create also gives you hard copy, 
if desired. 

Work allows you to vary all of 
the sound-generating parame- 
ters and also lets you store up to 
ten different sounds and then 
recall them one at a time for 
comparison purposes. Between 
these two programs you have 
the ability to completely control 
the MicroSounder and create an 
almost infinite variety of 
sounds. 

In the final analysis, all of this 
amounts to trial and error, but I 
feel that with time and practice I 
will know approximately what 
values to start with in my search 
for a specific sound. 

I did not take the time to 
rewrite the two games and can- 
not comment on them. From 
reading the program listings, I 
understand that they are 



AMPLIFIER 
JACK—-^ 



SPEAKER 

VOLUME 
CONTROL 



CUT 




o 


/ c 




) 


- 


o 


♦ 


o 


I 


) .CI 


) 


CI 


o 


C2 






o 


) 


♦ 


o 




o 


V 


o o c 


- 




V£ 




o 


o 


o o o 


o 


o 


o 



Rl 



o o 
o o 



o o o 
V cc 6ND 

o O O 



Fig. 4. My "Kluge" area now 
looks like this. The exact layout 
is not critical. This saved me the 
trouble of buying an amplifier or 
keeping my hi-fi amp in the com- 
puter room, since the on-board 
volume control is not readily ac- 
cessible when the Z-2 is all but- 
toned up, I may add an external 
volume control at the speaker. 



audiovisual games, in which 
sounds are coordinated with the 
action on the video screen. 

A Useful Mod 

Note the two RCA phono con- 
nectors and the pot in the ex- 
treme upper right-hand corner 
on the board. One connector 
feeds audio to an external 
amplifier, and the other feeds 
audio from an on-board 
amplifier to a speaker. An exter- 
nal amplifier is needed because 
the on-board amp doesn't really 
provide much volume. I don't 
have an amplifier in my com- 
puter room, and so I began to 
wonder if I could build one in the 
"Kluge" area. 

Fig. 3 is the result. This simple 
little IC amplifier will put out up 
to 2 Vz Watts, which is enough 
to drive me out of the house. As 
you can see, it only requires five 
components, and my total cost 



Port 



1 

2 
3 

4 
5 
6 



Table 2. What the output from my version of Create looks like. 
These values are plugged into Program 1 to provide the desired 
sound. Program 1 can be used as a subroutine in any other 
BASIC program in which you want to use the sound that you have 
created. 



Actual Port + 


Value Output 


128 


255 


129 





130 


22 


131 


137 


132 


63 


133 





134 


30 



34 Microcomputing February 1980 



+ 22V MAXIMUM 




FROM 

MICROSOUNDER 

AMPLIFIER 



TO 

8-16 OHM 

SPEAKER 



Fig. 3. The schematic for my simple 2 V2 Watt audio amplifier. R1 will 
not be needed if your + 16 volt line does not exceed about + 18 volts. 
Note that pins 3, 4, 5, 7, 10, 11 and 12 of the LM380N are tied together 
and then to ground. Any pins not shown are unused. 



was under $2, which included a 
14-pin wire-wrap IC socket. 
Make sure that you get an 
LM380N. There is an 8-pin DIP 
LM380CN available that is only 
rated .6 Watt. 

Construction is clear-cut. I 
inserted the leads of the 
capacitors, the resistors and the 
wire-wrap IC socket through the 
holes and tied everything 
together on the reverse side of 
the board with Teflon-coated 
wire-wrap wire (see Fig. 4). 

The + 12 volts required by the 
LM380 comes from a wire 
soldered to contact #2 on the 
card edge connector. This is 
actually unregulated and may 
be anywhere from + 16 volts on 
up, depending upon your power 
supply. The 380 will work with 
any voltage between +8 and 
+ 22. I inserted the 15 Ohm 1 
Watt resistor in this power lead 
because my Z-2 runs close to 
+ 22 volts when it is lightly load- 
ed. The resistor drops between 2 
and 4 volts depending upon the 
volume setting. The ground 
point is in the lower right-hand 
corner of the "Kluge" area. 

Note that most electrolytic 
capacitors are polarized and 
that they should be installed as 
shown in the schematic. Just 
below the phono connector 
marked "SPK" there is a loop in 
the trace. This is our entry point. 
Cut the trace here (I use an old 
serrated kitchen knife). Then run 
a wire through one of the vacant 
holes and connect one end to 
the input end of R2 and solder 
the other end to the trace below 
the cut. Run another wire 
through a hole, connect one end 
to the negative side of C1 and 
solder the other end to the trace 
above the cut. 



The on-board volume control 
still determines the amount of 
audio that comes out of the 
"SPK" jack. My original design 
did not include R2; however, I 
think that I was overdriving the 
LM380 input a little since more 
than one-quarter volume pro- 
duced a lot of distortion (and an 
awful lot of audio!). Try experi- 
menting with various values of 
R2 for the best distortion-free 
volume range in your situation. 
This will depend somewhat on 
the efficiency of the speaker you 
use. 

Keep this circuit in mind the 
next time you need a little more 
audio output. It is absolutely the 
simplest amplifier that I have 
ever come across, and I have 
already used it in four different 
projects. 

Conclusion 

Most computer hobbyists 
start out with two interfaces to 
their computers: a keyboard and 
a video screen. After a while, 
however, a desire to control the 
world begins to surface. That is 
quite a job, but many of us are 
gradually moving in that direc- 
tion. Using various digital and 
analog interfaces, you can 
manipulate just about any 
device or process that lends 
itself to electrical control. The 
MicroSounder is one more step 
up the ladder. 

Each of us has his own likes 
and dislikes. What interests me 
might not turn you on at all. But 
if you are interested in creating 
sound and music with your com- 
puter, you ought to try the Micro- 
Sounder. I was extremely happy 
to add it to the growing number 
of boards that occupy slots in 
my Z-2. ■ 



r r 



x 



COMING SOON: 




T.M. 



The Complete 
Information 




anagement 
System 

For Business 



Another Business Solution From: 




on as I 



MICRO APPLICATIONS GROUP 

7300 CALDUS AVENUE 
VAN NUYS.CA 91406 




njl/=\ES/=\njl 



N 



T M 



KEYED FILE 
MANAGEMENT SYSTEM 

Sophisticated applications made simple. 

Put data at your fingertips. . easily accessed, displayed, and 
updated by key. MAGSAM™ allows your CBASIC programs to 
create and access sophisticated keyed file structures through 
simple CBASIC statements. 

Powerful, affordable, and easy to use. 

MAGSAM™ is now available in three versions offering an array of 
features and capabilities. Standard MAGSAM T " features include 
random by key, sequential by key, generic by key, randomly by 
record number, and physical sequential access techniques Each 
MAGSAM™ Package incudes the MAGSAM™ file manager, tutorial 
program, file dump utility, User Guide. Reference Card, and one 
year update service. 

• MAGSAM™ — Most advanced version. Secondary Indexing with 
any number of keys, and Record and Key Deletion with automatic 
reuse of freed space $145t 

• MAGSAM II™ — Single Key support with full Record and Key 
Delete capability $99t 

• MAGSAM I™ — Entry level version. Single Key support without 
Delete functions $75t 

• MAGSAM™ User Guide only — comprehensive tutorial and 
reference manual $15 

Available for 8" soft sector, Micropolis, and TRS-80disk formats 

Requires CP/M' or derivative and CBASIC. Distributed as CBASIC 

subroutines in source form. 

Visa and Masterchagre welcome. Dealer and OEM inquiries 

invited. 



rmMsl 



MICRO APPLICATIONS 

7300 CALDUS AVENUE 
VAN NUYS. CA 91406 



,V 



Trademark of Digital Research f Single site license 




Microcomputing February 1980 35 



Joel Shapiro 

491 Ken i I worth Court 

Des Plaines IL 60016 



An Operator-Oriented 

Data Base 
Management System 



Part 2 of this three-parter discusses individual BASIC programs in the system. 



Last month, we examined the 
many features of this data 
base management system and 
discussed its operation from the 
user's point of view. In this in- 
stallment, we begin a discus- 
sion of the individual BASIC pro- 
grams in the system. 

Software 

All programs are written in Mi- 
cropolis version 4.0 BASIC, 
which is essentially the same as 
3.0 except for some editing func- 
tions. Most of the BASIC state- 
ments can be modified to run 
with almost any good disk 
BASIC. 

My system, with its 48K of 
memory, provides enough mem- 
ory for the programs even though 



I lose 2K for the display. It is nec- 
essary, however, to reduce the 
memory requirement for the in- 
terpreter by using the FEA- 
TURES program of the BASIC, 
which removes some editing 
features when 4.0 is used. I don't 
see any problems running 3.0, 
as these features are not incor- 
porated into that BASIC. 

In all programs, lines 300-1499 
are reserved for various subrou- 
tines used in the programs. Not 
every subroutine is used in every 
program, but once a subroutine 
is assigned, the line numbers 
are used for nothing else. This is 
helpful when entering the pro- 
gram, as it is possible to move 
some subroutines without retyp- 
ing the whole group. 



The DATABASE program (see 
Listing 1) provides the setup for 
CREATE, MAINT and PRO- 
GRAMS. The SIZES statement 
in line 100 allocates the correct 
amount of memory for integer 
variables, real variables, strings 
and program size. The MEMEND 
statement designates the end of 
memory in my system. The SIZES 
statement is used again in line 
61 of the REPORT, SORTFILE 
and RECOVERY programs. The 
functions defined in line 110 are 
used only with the Merlin video 
board and should be left out if 
you are not using one. These are 
duplicated in line 62 of the other 
programs. 

The string statement in line 
130 (line 64 in other programs) 



10! 


*** DATABASE PROGRAM *** 


20! 
30! 
40! 
50! 
100 


*** BY JOEL SHAPIRO 5/79 *** 


FILENAME-DATABASE 


S I ZES < 5 r 3 1 250 r 8500 ) : MEMEND 1 6RB7FF 


no 


DEFFAA»16R6B9:DEFFAB=16R6C2 


120 


DIM B*<15»4)»Ft(30»30)»G«<5r 250 ) » X* ( 30 » 25 ) » Y» ( 30 » 2 ) t X < 30 ) • Y < 30 ) t Z* < 30 » 3 ) 


130 


STRINGCHAR*<255) tY*«* i * 


140 


restoreioooo:fori«itoi5:readb«<i>:nexti 


141 


Q0SUB995:PRINTTAB<12)'AN OPERATOR ORIENTED* :PRINTTAB(8) 'DATA BASE 




MANAGEMENT SYSTEM* :PRINTTAB< 1 1 ) *BY JOEL SHAPIRO 1979* 


142 


print:print:print 


145 


G0SUB800 


150 


FORI * 1 T0300: NEXT 1 : CHAIN 'PROGRAMS* 


800 


PRINTTAB<12)*ENTER TODAY'S DATE* :PRINTTAB( 14 ) 'ENTER \ TO END* :G0SUB999: INPUTH* 


810 


IF LEFTtMH*»l) = '\*THENEND 


820 


Xti=H»:G0SUB900:H»=X*:PRINTTAB( 15 )H*>: RETURN 


900 


COMPOSES DATE STRING <H$) 


901 


X= 1 : FOR 1 = 1 TOLEN < X« ) : At=MID* < X$ - I - 1 > * IFASC < A* ) <480RASC < A* ) >57THEN904 


902 


B*=B«+At 


903 


NEXTI 


904 


xt ( x ) =b» : x=x+ 1 : b*= • • : ifklen< x» > THEN903 


905 


IFLEN(X»(3>)>2THENX«(3)=RIGHT«(X»(3).2) 


904 


F0RI=lT03:iFLEN(X*(I) ) <2THENX« ( I )=*0*+X* ( I ) 


907 


nexti:x*#=x*<i>+b*<7)+x*><2>+b*<7>+x*<3>:return 


995 


PR INTREPEATt»( CHAR* ( 13) »25): RETURN 


997 


PRINT :INPUT*PRESS RETURN TO CONTINUE * t AtRETURN 


998 


PRINTREPEATf(CHAR«(13).9) : RETURN 


999 


PRINTREPEAT*(CHAR«< 13) »7) :RETURN 


10000 DATA*\* 9 m 9* »•*•»■ ■ 9 m t m 9 •»••>•/•»■-• 9 *••§ •!•»•••# •%* 9 'DATE* » 'NAME* » *AMT. ■ 




Listing 1. DATABASE. 



changes the string delimiter to a 
nonprinting character. This de- 
limiter is used to define the end 
of a string to the system and 
should not be changed as the 
data in file will not read back 
correctly. Y$ in the same line be- 
comes the delimiter for field 
data and should not be used in 
the data. 

A third delimiter, a backslash, 
is used to separate some data in 
record 1 of the file, but this is un- 
der program control and the 
backslash can be used by the 
operator. Lines 900-907 put the 
date into the correct format and 
are duplicated in other pro- 
grams. After the date is entered, 
PROGRAMS will be chained in 
and control will be passed auto- 
matically. 

PROGRAMS' only function 
(see listing 2) is to provide a 
menu for program selection and 
act as a directory for all pro- 
grams used in the system. Some 
programs, such as PRINT, are 
chained by other programs and 
are considered to be part of 
them. Therefore, these pro- 
grams will not be listed in PRO- 
GRAMS. 

The CREATE program (Listing 
3) creates the file parameters for 
the data base. I have left the re- 
marks in the listing so you can 
see what the subroutines are do- 
ing. Lines 300-333 are, again, 
peculiar to the Merlin board. 
Line 301 is not used in any pro- 
gram for the time being. Its func- 
tion is to move the cursor to 
home. Line 302 is frequently 



5 36 Microcomputing February 1980 



10! 
20! 
30! 
40! 
50! 
80! 
100 
110 
120 
125 
130 
140 
150 
200 
210 
220 
300 
310 
320 
330 
340 
995 
997 
998 
999 



***DATABASE DIRECTORY *** 
*** BY JOEL SHAPIRO 5/79 *** 

FILENAME-PROGRAMS 



G0SUB995:PRINT-*** DATABASE DIRECTORY ***-:print 
PRINT 'PROGRAMS AVAILABLE" :PRINT 
PRINT 1) CREATE* MODIFY* DELETE FILE* 

ADD* DELETE* MODIFY FILE DATA" 

PRINT LISTS* REPORTS* LABELS ETC.' 

SORT* CREATE INDEX FILE' 

FILE RECOVERY PROGRAM* 
PRINT: PRINT 'ENTER NUMBER OF PROGRAM YOU WANT': INPUT 'OR TO end"»a:ifa<ithenend 
ON A G0T0300*310*320*330»340 
G0T0100 
CHAIN-CREATE' 
CHAIN'MAINT* 
PLOADG' REPORT' 
PLOADG'SORTFILE" 
PLOADG* RECOVERY' 

PRINTREPEAT* ( CHAR* (13) » 25) I RETURN 
PRINT: INPUT'PRESS RETURN TO CONTINUE' » A JRETURN 
PRINTREPEATf(CHAR*(13) »9) tRETURN 
PRINTREPEAT* ( CHAR* ( 1 3 ) * 7 ) : RETURN 



PRINT' 
PRINT" 
PRINT- 
PRINT' 



2) 
3) 
4) 
5) 



Listing 2. PROGRAMS. 



used; its purpose is to clear the 
screen and also move the cursor 
to home. If your terminal has the 
capability, insert your own sub- 
routine here. If not, then use a 
GOSUB995 and RETURN. 

The subroutine at 995 will 
clear the screen but will not 
home-up the cursor, meaning 
that new text will be written on 
the lower part of the screen. Line 
330 reverses the video for the 
line being output on the termi- 
nal, and line 331 brings it back to 
normal video. These are used to 
reverse the video for error mes- 
sages only and are not really im- 
portant in the operation of the 
system. If you have the capabil- 
ity in your system, write in your 
subroutine. Otherwise, just 
place a RETURN in those lines. 

Lines 332 and 333 reverse the 
video for the entire screen and 
are not used in any of the pro- 
grams at this time. 

Note that in line 834 an INDEX 
statement is used. This state- 
ment returns the character posi- 
tion of the variable Y$. 

If your BASIC doesn't have an 
INDEX statement, you can use a 
FOR-NEXT loop and a MID$ 
function. The file verification 
subroutine (lines 500-560) 
searches the drives for the file. 
If a system of more than two 
drives is used, the terminator in 
the N9 loop (line 520) should be 
changed. Line 996 is not used in 
the programs, but can be used if 
a clear screen function isn't 
available. Lines 998 and 999 
serve to center text on the 
screen. 

The statements in line 2050 



F$(X) Elements 1-10 used for file setup and options. 

G$(X) File data read into this array. Also used within programs for parsing and other 

operations. 

X$(X) Stores field titles. 

Z$(X) Stores field length. 

Y$(X) Stores D, N and S field code and operator access code. 

X(X) Stores length of field (value Z$(X)). 

Y(X) Stores pointer for beginning of field. 

B$(X) Multipurpose data. 

C%(X) Fields to be printed and their sequence. 

B%(X) Printer options. 

C$(X) Dollar format for printer. 

D%(X) Tabs for printer. 

E%(X) Fields to be totaled. 

A%(X) Sorted record numbers from sort routine. 

E(X) Running totals for fields in E%(X). 

Table 1. Arrays and their purpose. 



reset the end of file marker and 
free up any tracks previously 
used for the file. Line 2060 sets 
the file attributes to Write Pro- 
tect-Permanent and closes the 
file. Remember that the first five 
records of the file are used for 
the parameter information; they 
are considered part of the sys- 
tem rather than part of the data 
base. 

In MAINT (Listing 4), some 
subroutines have been added 
and some have been deleted. 
The GETSEEK statement in line 
1510 sets the sequential GET 
pointer to record 6 of the file. 
The RECGET statement in the 
same line returns the record 
number that the pointer is look- 
ing at. You will notice there are 
similar statements for the PUT 
pointer. The SIZE statement re- 
turns the number of records in 
the file. 

The basic operations concept 
of the MAINT program is com- 
plex but not too hard to under- 
stand. When the file is loaded, 



the first five records are read 
and are used to set up the pro- 
gram for correct data handling. 
Records 2-4 of the file have the 
field data originally entered in 
the CREATE program. The infor- 
mation, however, is in a compos- 
ite form within a string and must 
be separated. This is accom- 
plished through the subroutines 
effected by calling line 1000. 

The titles are retained in the 
X$(X) array (see Table 1)— the 
field length in the Z$(X) array, 
the type code and operator ac- 
cess code in the Y$(X) array. 
From the data in the Z$(X) array, 
we derive a set of pointers that 
are retained in the Y(X) array. 
The pointer carries the starting 
position for each field's data in 
the data string and is used to lo- 
cate the data correctly for use 
by the program. By using the 
pointer instead of a delimiter, 
we are able to access the cor- 
rect data directly, instead of 
parsing the string each time we 
need it. This saves considerable 



UJ 

UJ 
QC 
O 

cr> 

CO 



OC 

u. 



UJ 



<x 



u 

z 

3 



Ui 

to 
<x 
a 



cn <r 

oc t- 

Ui <X 

- h- a 

V- Ui 

Z Z Z 

hi <t o 

oc • oc oc 

iO«li. 

- OL U_ 

|_ UJ UI 

Z M Ui _l 

ocohu. 
0. t- u. 

.- Ui 

- Ui > z> 

» _i <r o 
» -* _i z 

» U. 0- Ui 

tn oc 
en ui hi 

U1N Q - 
JM •« 

l-l «J ~ 

U. « * • 

hi H- 

Ui t- • 2 



A 

<r 
oc 

o 

V 

<x 
u. 



o 
o 
o 

■l 

o 
o 
♦* © 

*» If) 

« ft 



z 
cc 



O Ui 

O -J 

o co 



IV 
in 

o 

0C 

Z»i 

<X 0. 
OC « 
O X 

o tn 
oc 

O. _i 

ui 

UiO 

l-l 

u. > 
A 
UI 

H- » 
«« 

Ui * 

or 
u 



o o 

^ CM 



m 
ft 

A 

3 

cn 

o 



Ui z 

_J HI 

UI 

Q ~ 

CM 

>■ • 

U. H- 

>-i z 

Q >-« 

O OC 

Z 0. 



UI 



CM 

flQ 



« CD 

UI o 

oc o 
o 

I <o 

Ui CM 

Z 0k 

« A 

Z 3 

ui to 
-I o 

u. — 
9 
I 

€ 



ui ui 

H- _J 

« HI 

Ui u. 
oc 

U 3 
UI 



Ui 



z oc 

hi Q. 

oc •• 

0- ■ ■ 

— to to 
♦♦ a oc 

. QC ui 

inoi- 

0C U UI 

UI Ui z 

h- OC « 

UJ oc 

z u. « 

<t a a. 
oc 

<t OC Ui 

a. ui _i 
oa hi 
Ui z u. 
-I =3 
hi Z ui 

U. H- 

>- « o 



II 
<I 



<r *• 



>- ■ 

OC X 

o to 

H- HI 

U 3 
UI 

OC 3 

hi O 

a >- 

z z 

<r o 

0C hi 

O H- 

o u 

oc z 

a. 3 



H < H&. J 

z ui a cn a. 

hi 0C O hi 3 

oc u z a a 

E 



ui ui 
a. a. 
o o 



111 h n if) NOD o> 

l> ..... . 

A H- H- H- K K H- 

3 Z Z Z 

(QHMHH 

o oc oc oc oc ac oc 

ts a. a. a. a. a. a. 



oc -I 

3 Ui 

H- CO 

ui ■ 

oc H- 

3 

o z 



z z z z z 



o oo 

to *-|0 



o o »i cm ro *• 
rv ao co co oo cd 



CO CO 



oc oc 

a. a. 

rs o 

co tv 



o oc 
o « 

z> 
n 

- oc 
o o 
o 

CM ^ 

ro * 

o u 
o to 

o <r 

M D 

o o 

O l> 

CM 0C 

o ~ 
o ^ 

CM UI 

r>i ^ 
•> o 
o a. 
o 
© oc 

CM \ 

ft to 

o 

O X 

If) HI 

»H _l 
o oc 

H- UI 

o z 
a 

<x 
z 

o - 

o 

m © 

&> to 



ui 
oc 

M 

« 
u. 
ii 

Q 



CO 
A 

<o 

OC 
>0 



Ui 

jC X 

o oc 

a. 3 

♦• H- 

<r ui 

<x oc 



II o 

a qd 

♦♦ oc 

m «o 

ii ii 

CO Ui 

A <r 
o «0 
oc oc 



Ui UI 

o o 

a. a. 

CM O 

o to 
»o to 



time in all programs. 

In order to accomplish this it 
is necessary that we fill out the 
field with blanks before the 
string is assembled and written 
to file. Lines 2100 and 21 10 show 
how this is done. When data is 
added, modified or coded for de- 
letion, the current data is written 
into the file (F$(8)) (see Table 2), 
so the data of the last update is 
recorded. This information is, of 
course, part of the file handling. 

The first character position in 
all data strings is used for a de- 
lete marker. The delete marker is 
an asterisk (B$(9)) (see Table 3) 
in the programs. With the excep- 
tion of the edit routine in MAINT 
and the SORTFILE program it- 
self, the delete marker will pre- 
vent the display or printing of 



Microcomputing February 1980 37 $ 





















2 
cc 

3 
1- 

Ui 


2 
CC 

3 

Ul 


z 










































































































































cc 


• • 


cc 










































































































































• « 


*-* 


3 










































































































































»^ 


n 


»- 










































































































































M 


n 


Ui 










































































































































n 


CD 


cc 


































































































































*»r 








CD 


3 


** 


































































































































ii 








3 cn 


** 


































































































































>0 








cn o 


n 


















z 
















































































































o 








o 


a 


n 


















3 
















































































































K 








CD 


• • 


CD 
































































































































o 








♦ * 


■ 


3 


















K 
















































































































CO 








■ 


<r 


en 


















Ui 
















































































































• • 








en 


i- 


o 


















CC 
















































































































o 








Ct. <L 


CD 


















•• 






















































































ro 


























II 








Ui 


Q 


** 


















^> 






















































































CN 


























rO 








1— 




■ 




2 














•^ 






















































































o 


























€ 








u 


_i 


<r 




CC 








z 






k 






















































































»-« 


























2 








<t 


-I 


►- 




9 








§ 






^ 






















































































o 


























UI 








ac 


<I 


« 




i- 












•i 






















































































£ 


























I 








<t 









u 








t- 






Xt^ 






















































































s 


























I- 




© 




i 


CC 






in 








Ui 






* 














































































































**»*. 




o 




u 


UI 


>- 




• • 








on 






>~ 






















































































«• 


















o 








«4 




in 






h- 


u 




r-t 








•• 






■W 






















































































■ 


















o 








**^ 




o 




CD 2 


Ui 




m 








.— » 






• 






















































































in 


















cv 








• 




t- 




•-« 


LU 


cc 




M 








« 






K 






















































































♦ 


















A 








■ 




o 




1 


1 


cc 




CD 








^ 






s 








































































































3 








n 




CD 




X 


UI 


o 




3 








»- 


























































































Q 


















en 








m 




♦ ♦ 




►- 


cc 


CJ 




cn 








^ 






n 






















































































§ 


















o 








2 




IV 




CD 








o 








•i 






CC 






































































































a 








2 U. 




Ch- 




2 




cc 




CD 








■ 






^^ 






















































































U 


















*>• 








On i-i 




0* 




U 


— 


u 




• • 








« 






M 






















































































£ 


















>o 








3 ♦♦ 




co 




-i tr 


»- 




■ 








• • 






■♦- 






































































































os 








1- «» 




3 






CL 


z 




H 








<r 






X 






















































































z 


















cv 








UI 2 




en 




z 


UI 


Ui 




i-i 








z «•> 


© 




-w 






































































































a 








OC H- 




a 




3 


h- 






r 








cc * 


CD 




CD 






















































































n 


















3 








2 3 




CD 




r 


u 






■-H 








3 Ul O 




<r 








































































































en 








ui a. 




*>4> 




i-i 


<i 


♦ 




J 








1- Z K 




*- 






















































































! 


















o 








I 2 




C* 




X iJC 


a 












Ul O 


O 




4*t 






































































































u 








H- H 




0s 




<r <r 


_i 




a 








cn z 


CD 




* 






















































































•^ 


















• • 








• •• 




0s 




z 


X 


Ui 




_i 








• • 


• * 




<r 






















































































z 


















i— 








>- O- 




a 




■ 


U 


I-I 




Ul 








rs in 


i-i 




^ 






















































































r- 


















z 








. cv 




3 




t~ 


■ 


u 




H-l 








CK o 


t- 




X 






















































































I 


















i-i 








II o 




en 




z 


h- 


■ 




u. 








Os u 


X 




N^ 






































































































i 








* CO 




o 




I-I 


2 


t- 










2 


CD 


Ul 




CD 


































































































l-l 






u. 








<X 3 




o 




cc 


i-i 


z 




o 






2 CC 


3 O 


2 




•a 






























































^* 




































►- 






•• 








u en 




♦• 




UL 


in 


!■* 




m 






Ct 3 


cn 


♦ ♦ 




h- 






























































n 
























T>< 












X 






• 








►H o o 




■ 




• » 


u. 


z cc 




■ 






3 l- 


o cc 


© 




>- 






























































** 
























■ 












Hi 






<v 








♦♦ o *r 




z 




■ 


• • 


cc a. 




H 






1- Ui 


CD O 


o 




Z 






























































4rT 
























I— 
























o ♦♦ m 




o 




u 


■ 


3 •• 




2 


2 




ui on 


• • 


n 




i-i 






























































u 
























z 












♦• 






ui 








0. . 0£ 




1-1 




-1 


CD 


»- • 


z 


I-I 


in 


2 


cn •♦ 


i-i Ul 


a 




ct 






























































^^ 


■ 






















rM 












♦» 






ct 








o-ao 




V- 




*- 


<r 


UI 


in 


in 


3 


in 


•• »h 


Kl CD 


H 




a. 






























































«0 


*1 






















Ct 












CD 






3 








azac 




CJ 




l-l 


n 


CL _l 


3 


E 


f- 


3 


Ch w 


« Z 


«-i 




z 






























































%# 


* 






















1 












a 






en 








3 UJ CC 




Ui 




►- 




♦♦ « 


1- 


*• 


Ui 


1- 


o- n 


CD <I 


n 




Ul 
















































2 














CO 


































^ 














en ui 




s 






K 


^ u 


Ul 


■ 


cc ui ck a 


3 Z 


i— i 




z 
















































CC 














<x 


a 






















£ 












n 






3 








o o 




S 




s 


>-H 


n t-i 


CC 


cn 


*♦ 


in 


CD 3 


cn u 


cc 




h- 
















































3 














K 


cc 
































s^ H 






O 








CD 1- ♦* 




o 




-1 


2 


rn cc 


*• 


a 


o 


** 


3 cn 


o ■ 


o 




■ 
















































1— 


© 












Ml 


o 






















i— 












♦» r- 






>- 








z 




u 




Ui 


•—i 


CD UI 


*-< 


_i 


0- 


o 


cn o 


CD 1- 


u. 




en 




























^N 




















Ui 0s 






z 






H 


u 






















• 












U. X 














CD / •+• 








I-I 


_J 


3 2 


ro 


UJ 


o- 


o 


O CD 


♦♦ 3 


• • 




■ 


2 
























CO > 




>-s 
















Ct 0s 






ct 






H- 


u 






















o 












M Ui 






ui 








0* • 




Ui 




u. 


1 


en 3 


n 


i-i 


CD 


o 


CD •• 


* li- 


1-1 




u 


in 
















z 








to 


1 




r>i 
















•# 


2 






3 






2 


cc 






















■ 












♦»• z 






CC 








0* CC •♦ 




2 






UI 


O 2 


CD 


u. 


3 


a 


♦ • • 


CC Z 


n 


Ul 


4» 


3 
















ct 








CO -j 




i 
















rl 


Ui 






r- 






rl 


■ 






















II 












ro •• 






<I 








CD o ■ 




8 




cc 


M 


a 


3 




cn 


3 


■ 1- 


CC i-i 


n 


D 


<t 


f- 
















3 








z 


■k 




^* 
















r- 3 






Ul 






Ct 


^ 














© 








^N 












CD o 






■ 








3 " -*- 




2 




o 


i-i 


♦♦ 2 


cn 


u- 


O 


cn 


»- >i 


UJ ♦• 


CD 


a 


CC 


Ul 
















»- 








Ui 


^% 




•» 
















X 


r- 






CC 






E 


© 














<l 








m 












CO <T 






r- 








en i- ♦» 




• 




u 


cn 


■ i-i 


a 


Q 


CD 


o 


H-l 2 


K • 


3 


u 


o 


CC 










* 






Ui 








z 


«4 




CD 
















Ui 


■ 






•• 






♦* 


ii 














rs 








■w 








2 




3 CD 


z 




Z 








o z « 




►- 








CC 


CD 




• • 


CD 


<L i-i 


z o en 




■ 


• * 










>- 






on 








►- ct 




■^^ 
















Z 2 






<r 






© 


s^ 














CD 








«T 








CC 




cn co 


ct 




n 








CD i-i n 




z 




z 


a 


ui cn 


*» 


cc 


■ 


• • 


3 -1 


ii ►- 


O 


cn 


z 


^o. 










-♦- 






•• 








o 


N^ 




2 
















♦* 


• 






«•» 






ro co 














3 








a 








5 




O 3 


3 




ct 








•• 4 2 




i-i 




K 


cc 


}- cc 


■ 


UJ 


<i 


■ 


1 


cc 


cd en 


• 


i-H 










<*N 






n 








II 


♦» 




Ul 


^ 














■ 


A 






■ 






o <r 














cn 








cc 








r- 


cn 


cd cn 


I— 




a. 








• 0. UI 




■c 




o 


9 


2 UI 


in 


CD 


t- 


1- 


k cc 


E z 


• * 


Ul 


II 


fe 










1— 1 






»- 








X CD 




-I 


ii 














■ 


V 






Ui 






K 


r- 














a 








o 








Ul > 


♦♦ o 


Ui 




M 








p.. .. Q. 




E 




z 


o 


Ui K 


Ul 


r 


<I 


t-t 


cn ui 


♦♦ en 


■ 


CJ 


» 


>~s 










■w 






X 








u. 


^ 




■l 


i 














II 


*» 






3 






*4 


r- 














CD 








■ 








on <z 


© CD 


ct 




■ 








UI - o 




•• 




Ui 


UI 


1 CJ 


CD 3 a 


<L 


i-i K 


■ i-i 


z u < 


l-( 










4» 






Ul 








M 


♦* 




* 


X 














^ 


<t 






Z 






II 


2 




<x 






■ 


■ 


• •> 








■ 








TT 


in 


ro ♦• 


•• 




<I 








_l UI ♦* 




■ 




_l 


in 


UI <x 


z 


z 




3 


Q U 


— 3 


<r 


<x 


CC 


•s-r 




rs. 






>- 






z 








*♦ 


h- 




CD 


h 












2 


t-4 


a 




2 


Z n 






n 


n 




r- 




■ 


ro 


t 


*». 








II 








n 


in 


o o 


n 


z 


I— 








11 _l ■"> 




a 








in cn 


3 




CD 


1 


■a 


QC 


QL 




o 


41 




© 






+ 






• ♦ 








^ 


X 


^s 


"^^ 


♦» 






Z 2 


in 


** 


z 




Ct 


Ct r- 


Z 2 


Ct 


cc 




<I 




N 


*» 


♦ 


^S 








.♦"N 








1- 4 


k ro 


K 


o 


<x 








U i-i 'i 


2 


Ui 




z 


r 


<x 


2 


r 


2 


CD 


o cc 


O 3 


a 


in 


■ 


>- 




>0 






^N 






«* 








* CD 


Ui 


♦» 


a 






CC ct 


on 2 


3 


H* 


<t 




3 3 Z Ct Ct 


o 


E 




Ci 




* 






t-l 








m 








X 




ii CD 


X 


M 


Q 








u. - 


i: 


E 




3 


3 


I 




3 


i-i 


Z »- 


s^ 




co ro 




HI 






> 








>- l-l 


Q 


1- 


s^ 






3 3 


3 Ct 1- 


X 


• 




K 


r- O 


3 3 


u. 


**> 










a 


D 


St^ 








w 






Ui u 


Q 


ii CO 


Ul 


1- 










Ui CN 


3 


E 




z 


r 


— o 


i=i 


2 


cn 


i-i 


z cc >- 


cc *- 


• 


«» 




3 


II 




v^ 






■+■ 








•» 


Ct 


O U. ♦» 






1- 


H 


H 3 


UJ 


** 


> 




Ui 


Ui U 


r- 


r- 


*• 


rs 




Ui 




Q 


cc 


cn 


»» 








T» 






-iZC 


n 3 


z 


Ui 


Ui 








Z U. •> 


r- 


o 




!■* 


l-H 


i— 


in 


i-i 


cn 


I CD CJ 


Ul 


E 


<r 


II 


h- 




en 


1-1 




«l 






^s 








^ 


1 


UUIh 


^s. 




Ul Ui 


Ui K 


cc 


■ 


■ 




Ct 


Ct 


Ul 


U| 


o 


0s 




-J 




CC o 


O M 








CD 






n 


♦>♦ 


O 


cc en 


*>• 


_i 


1- 








« O ~ 


Ui 


H- 


cn 


X 


X 


3 _J 


9 


X 


Ul 


CJ 


z 


a 




in 


» 


I 




o ct 




!M 






*-* 








v4 


^s 




_l U. X 




in cc 


an ui 


• * 


■ 


A 




«« 


♦♦ o 


CC Ct 


II 


0s 




r- 




o u 


CJ 


>-S 








U, 






u. 


/—. 


— i 


c o 


*»». 


ill « Ul 








tn o 


s 


M 


Ui 


<I 


<x a. <r 


CJ 


<l 


y 


CC 


i-i o 


*. _i 


Ul 


Ul 


<x o 




CD 2 




+ 






x^ 








Ct 


»-l 


» 


II 


Ul 


! 










rl 


II 


V 




^s 


"s r- 


4>*> 


*>• 


_l 


co 




rl 




u 


UJ 


ui in 








n 








»-H 


»• 


U. CD 


it n 


2 a <y _i 








• Ui z 


• • 


■ 


CD 


z 


z 


2 U 


Ul 


r 


o 


« 1- M 


cn ui 


3 


a. u. 


l-H 




• * 


UJ 




^^ 






♦» 








^# 


ct 


a 


* 


_i 


^s. 




n 


n 


n •• 


r- 


^v 


* 




in 


0s 


.r-S. 


>-s 


»» 


3 




K 




Ul 


cc 


on cn 








•• 






r 


•^ 


Ul 


»• 11 


en -^ 


Ct Ch UJ 






CC 


r- Z ~ 


n 


(► K 


<X 






i-i i-i 


cc 




cc 


Ui 


I-I 


l-l HH 


z c 


l-l 


cn 




l-l 


I 




f-( 






Ik. 








* 


N^ 


-J es 


ii 


* 




H- 


r- 


1- n 


X 


»~t 


<x 




CN 


ro z 


r> ^ 


■ 


cn 








in 


■ 


■ 


S^ 








• 






o 


♦» 


— 1 


n ^ 


n «♦ 


3 <r co c 






X 


2 <X * 


II 


Z Z 


cn 


a 


a 


H 




a 


E 


cn 


cc a 


a u. 


M 


i 


»» 


>^ 




1- 


K 




V^ 






+ 








a « 


Ui 


*• 


^s 


CD 




X 


X 


X K Ul 


s-» 


u. 




•» 


- Ct 


•k 


|| 


11 


o 




<T 




m 


."■v 


.--s. 


CD 








Ul 






cn cd 


r- 


II 's 


a o 


l- t- 3 








cn 


H20CIO 


1- ►-( 


cn 


Ui 


UJ 


_J Ui 


_l 


Ul 


• 


■ 


3 Ui 


■ 


1- Ui 


^x 


n 




X 


© 




* 






»-s. 








^ 


CD 


M 


^s 


H 


-W 




UJ Ui Ul X 2 


♦A 


n 




*\ 


~ 3 


^-v 


r^S 


* 


CD 




1 




.♦-s. 


© 


© <1 




2 




•» 






u 


H 


U. 


tm rj 


n 


UJ <I CD _l 








ac k 


<x x cc 


UJ 


a 


a 


<t CD 


<I 


s 


y* 


y^. 


■ Q 


1- u 


z a 


••1 


-♦- 




UJ 


iH 




CO 






*»4 








X 


•« 


U 


N 


s^ 


2 




2 2 


2 Ul 


*>* 


M 


•• 




ro 


•H K 


n 


n 


Tl 


z 




rj 




C 


n 


Tl 


r- 




CC 


Ul 










O 




CC w 


o a 


tCQOJ 






2 


a. ct en 


M 


ui a. 


r 


Ui 


UI 


a <i 


a 


Ul 


© 


© 


^s Ui 


2 O 


o o 


•k 


X 




2 


/•■. 




-♦- 






V 








Ui 


^ 




•>. 


♦» Ul 




♦ ♦ 


♦ * 


— 2 


• 


• » 


*» 




ii 


>0 Ui 


i 


n 


* a 


Ui 








n 


>-- 


>-* 


*» 




3 


•» 


11 






Ul 


CC 2 


♦♦ tJ. 


1- ct 


•♦ 1 o 


>-( 






9 


M UJ ^ 


1-1 


z ♦♦ 




Ui 


UI 


Ul z 


UJ 


Ul 


i-i 


•n 


CD Ul 


i-i 


u 


u 


^s 


■w 




♦ * 


I-I 




^-s 






• 








Q 


i 


•k 


* 


X 


-I 




■ 


■ 


■ •• 


© 


■ 


<t 




s^ 


s^ fit 


>-- 


^^ 


ct 


z 




cn 


0S 


>^ 


X 


CD 


^S. 


rs 


r- 




Ct 






1 


o o 


rs u 


o 


OUJ" 


3 


2 




n 


mi-*. 


UJ 2 « 


K 


u 


u 


-1 u. 


_i 


u 


■«-• 


^^ 


>- u 


CC cc 


cn 




l-H 


CO 




• 


u. 




l-t 






CD 








Z 


1 


Ui 


CD 


♦ • 


b 




■ 


■ 


■ ■ 


• 


■ 


«•» 




* 


♦* 


♦JV 


♦* 


a o 


r- 




ii 


0k 


CD <£ 


•X 


HI 


o 


Ul 


a 


o 






1 


u cc 


O ^ 


~ CJ 


O CD Os 




cc 




t- 


ck z a en ui cc 


Ul 


X 


X 


-i _i 


_i 


X 


CD 


CD CD X 


a. u 


n 


cn 


N^ 


<r 


***>. 


■ 


l-H 




^ 






1 








•H 


X 


_J 


■S^ 


S*s. 


i 




II 


II 


II ■ 


II 


II 


• 




on 


cc cn 


cc 


CC CC u 


in 




cc 


N 


<X 1- 


r- 


V- ' 


o 


^. 


cc 


CJ 


0M 






Ui u. 


s0 _J 


in ui 


£ <X Os 


en 


3 




<i 


»- UI i-i 


Oli 


i 


Ui 


UI 


i-i <t 


i-i 


Ul 


<t 


<I <I UJ 


*♦ CD 


a 




« 


t- 


«r 


II 


• * 




«l 






^ 








II 


•k 


1- 


* 


*-v 


-r- 




^ 


*^i 


~ II 


<— V 


*-^ 


^\ 




<r 


<r cn 


<r 


<r 


a ui 


»H 




c 


V-r- 


r- 


r- 


r- 


* 


CD 


•>• 


3 


Ul Ul 


2 


cn 


on 


r— V 


CD <t 


1 ct 


<OU)0- 


n 


h» 




u 


CD • £ JKIil 


i- 


■ 


■ 


■ ■ 


■ 


■ 


1- 


1- 


h- • 


© 2 


■ 


cc 


>- 


«•. 


i 


>s 


o 




X 






▼^ 


^^. 






X 


^ 


M 


1- 


fH 


X 




n 


l-H 


H ^s 


11 


rl 






z 


Z Ui 


i 


i 


CJ cc 


* 




CJ 


♦» 


w— 


2 


2 


X 


3 


rs 


(J 


cc 


^w 


CC 


a 


i 


un 


3 3 


Tl Tl 


iHinnz 


UJ 




H 


3 1- II 


o rs 


o 


»- 


1- 


1- K- 


h- 


1- 


1- 


1- 


H- K 


m 3 


i- 


o 


•»^ 


• 


rj 


HH 


m 


«r 


+ 




^v 


N^ 


i-i 


ro 


it 


•• 


11 


K 


I 


-w 


•• 














z 




u 


u cc 


u 


CJ 


Ul ■ 


r-i 




Ul 


u. 


2 


1 


M 


-<-V 


cn 


> 


UJ 


■ 


«» 


3 


cc 


r- 


i 


cn o 


~ K 


II Ui 3 K 


cc 




u 


cn 2 * 




II 2 




2 


2 


2 2 


2 


2 


2 


2 


Z 2 


n 2 


2 


•» 


* 




v-^ 


•>-• 


o 


ii 


^K 




T-I 


* Ct 


ii 


II 


•*■«» 


ct 


"»■»• 


a 


♦* 


* 




• 


1* 


4J» >-« 


*» 


♦* 






s^ 


~ a. 


^ 


■w 


cc ~ 


ii 


Z Ct 


■--*• 


rl 


CC 


CC 


>0 


o 


Ch 


cc 


T*»N 


O H 


O Ui 


p4 


O K 


3 


~ r cn 


■ 


2 




H 


O n «X 


• q:h 


Q 


i-i 


HH 


l-l l-H 


l-H 


i-i 


i-i 


t-i 


►H I-I 


CD 


n 


2 1- 


■ 




* 


1- 


«-i 


*-l 


2 


s^ 


CD 


^#- 


Ii 


ii 


^»4 


***** 




n 


co a 




N 


X 


>«u. 


>- a 




• 


♦» • 


i» 


♦A 


o 


n 


cc 




-I 


CC 


u_ 


u. 


s^ 


CD CO 




o 


«•. 


Ul 


CJ CD 


»w 


CD ti 


« Cl. 


uj a 


»- 


UI 




cc 


CD £t *♦ 


2 CC Ct 


2 


CC 


cc 


CC cc 


CC 


in 


CC 


in 


CC cc 


3 CC 


CC 


•t 


u 


-~s 


<» 


CD 


tH 


CC Cf 


CC 


• 


• * 


*» Ct 


on 


T^ 


* 


• 


CC 


a. 


*— • 




M 


♦>♦> 


.. o 


♦ ♦ 


•♦ 


o 




r- 


r- r- 


i— 


1- 


>- n 


CC 


3 


>- 


<r 


a. 


2 


Z CO 


2 


3 


> 


t-l 


■ 


in 


Ui 


•« 


•» 


♦♦ H 


o .. 


*• o o 


z 


I 




Ui 


lifl 


+ 


ui a. 


<r 


E 


E 


E a. 


E 


E 


E 


u. 


a. E 


cn ui 


E 


ca 


Ui 


X 


a 


♦ • 


II 


z 


^ 


3 


CD C 


2 


2 CC CD 


CD 


II 


♦» 


♦>» 




© o © •* 


© 


© 






<I 


<r 3 


<r 


<x 


« s^ 


O r- 


<r 


_> 


2 


U 


Ui 


<r 


Ul 


OQ 


<I 


S-' 




• • 


in 


in cd 


O n 


Ill 


>0 Z ♦♦ 


n 


r- 




:> 


UI ♦♦ o 


■ 


cc — 




















O 1- 


♦ ♦ 




_l 


>»• 




<r 


l-l 


Ui 


« 


y- 




n 




UJ 


u 


•s^ 


<*T* 




>-v 


a c 




ro ro 


ro m 


ro 


n 


>- 




Ui 


ui a. 


Ul 


Ul 


_J CO 


lil 


Ui 


_i 


a 


Ul 


X 


I h- 


z o 


_l 


CO 




is 




o 




© on 


Ui O 


ise •-• r-j oc 


■ 






i rt t- 


• - 


o in 


cc 


o 


o 


o o 


© 


o 


CD 


cd a 


CD 2 


© 


H 


II 


CD 


a c 


cc 


Z CD 


Ul 


Q 


o ui a 


2 «► • 


Ul 


1— 1 


%^ 


l-l 




o o 


oo 


a 


o 






a. 


a. z 


E 


a. a. <i 


■i 


CC U_ r- 


Z r- 


V- 


•^ 


r- CD 


ftl 


•a 


•^H 


r> 


a r- 


»-« o 


V- r- 


O 2 O 


a. 


>- 




UJ 


t- o> o 


• 


*o>oo 


M 


n 


n n 


m 


M 


O 


CK 


a- n 


M Ui 


n 


2 


* 


<r 


_j 


h- 


a 


t- 


H 


cc 


_l 


i- 


cn 


r- 


hOh 


en 


■n-" 


X 


2 




i- 


t- 


K 1- 


f- 


r- 


■w 




Ul 


Ul i 


ui ui cn r- 


« 


«« 


cn 


i 


r- 


n 


1 


rl 


m 


• • 


0) 


r- 


■ 


o 


<r 


1 


<r 


Tl U Z 


H Tl 


Htn 


•»•> 


■ 


o - 


•r-t 0^ II 


+ 


II £K ^1 


lH 


M 


m 


n ro 


n 


n 


0- 


0- 


(► n 


•1 • 


M 


i— i 


<x 


H 


n 


Ci 


u. 


© 


*— * 


• 1 


i-i 


»-i 


cc 


© 


O 


*— ' 


U 2 Ct 


^ 


UJ 


II 


2 














2 


on 


cc .. 


cc 


cc 


n r- 


H 


n 


n 


ii 


ii 


n 


n 


1- 


i 


H 


rl 


1- 


l- 


CD 


UJ 


II 


LU 


CO T> Ct 


cn ii 


>■» «I CD 


r- 


II 


CD 


►1 


III 


♦ a: ai ui 


cc 


CD 


CD 


CD CD 


CD 


CD 


CD 


CD 


CD CD 


Ui t- 


CO 


cc 


• * 


1- 


3 


II 


• * 


N 


i-i 


l-H 


3 


ii 


<t 


l-H 


CN 2 Ul CC <t >- Q 


^s 


CC 


ii 


ll 


II II 


ii 


II 


r- Ct 


r- 


K r- 


h- 


r- 


a 2 


H 


r- 


Q 


n 


II 


II 


it 


2 


ii 


r- 


s 


2 


2 Z 


cc 


>— 1 


in 


3 a 3 


3 H 


hi 3 a 


Z 


• 


o u. 


ro 3 Z 


<t CC 3 O 


UI 


3 


3 


3 3 


3 


3 


3 


3 


3 3 


cn 2 


3 a. in 


2 


CD 


l-l 


r-j 


/■-. 


Ct 


1- 


CD 


M 


u. 


A 


A 


ui _i 3 a. 


♦ ♦ 


2 


H 


3 


n 


rl 


n n 


n 


rl 


3 


3 


Z 


2 2 


2 


2 


n 


n 


X 




CC 


n 


M 


n 


M 


n 


X 




M 


n 


cn 




cc 




cn II r- 


on 


it en 


n 


<r 


h- 




« cn ct 


II 


ui cn ►- 




cn 


cn 


en cn 


cn 


cn 


cn 


cn 


cn cn 


O i-i 


cn 




M 


i-i 




cc 


it 


i-i 


•w 


X 




Ct 




i-i 


n 


-i 


H t- 




© 


i-i 


^-- 


1- 


cc CC 


Ct Ct Ct 


CC 


0- 


r- 


rl 


n H 


rl 


rl 


cc 


U. 


Ul 




a 


Ui 


U. 


Ik 


CC 


u. 


UJ 




cn 


CC C 




a 




O i UJ 


a 


O Out 


u_ 


o 




u. o o 


* 


u. o o 




o 


o 


o o 


o 


O 


o 


o 


o a 


-1 cc 


o 




II 


CC 




o 


iH 


u. 


« 


Ul 




o 




u. 


U. 


1 


'«• Ul 




II 


II 


«» 


Ul 


o o o o o 


a 


2 UJ 


on 


oc cn 


CC 


CC 


CL 


n 


2 




u. 


rl 


n 


n 


Cl 


rl 


I 




Cl. 


Cl. 


CD 




LL 




CD Ct CC 


u 


B. CD u. 


rl 


cd 




i-i CD U. 


2 


*-i CD CD 




CD 


CD 


cd a 


CD 


CD 


CD 


CD 


CD CD 


cj a. 


a 




X 


E 




u. 


in 


t-t 


CD 


2 




It, 




n 


n 


~) c 




X 


X N 


u. u. u. 


u. 


H 


■ 


E 


a. a. 


E 


E 


— ■ 






— 
















— • 








— 




— 




— • 


— ■ 








— ■ 








— ■ 






















— ■ 






— ■ 












— ■ 




— ■ 










•• 
































O »H 


ri 


ro 


© 


Tl 


Ct 


n 


<r 


ui 


rs 


CD 


c 


Tl 


rj 


ro 


o 


ii 


© 


CN «T 0s 


O Tl 


H O «H 


cn 


f0 ^ 


NOOC 


o 


»-l 


CN 


n *■ 


n 


O 


rs 


CD 


0> »H 


n m 


^- c 


1-1 


CN 


o 


^-1 


CN 


M 


^ , 


in 


O 


CN 


O 


i-i 


CN * *0 CO O 


«r 


O CD 


CJs 


I 


CI 


ro * if 


>0 c 


n 


m 


•a rs. 


CO 


o o 


© 


o 


rH 


Ii 


»1 


T-l 


n 


T— 


— 


Tl 


CM 


ri 


r-i 


a 


© 


o 


n 


iii 


o o 


noo 


o 


O 


o 


o 


© n CN 


ro ♦»■ in o 


o 


O 


O 


o o 


© 


© 


o 


O 


© -H 


•-I ^H 


1H 


-0 


>o 


-0 


o o 


o 


O O 


o 


ii 


»i 


ro ro 


ro ro ro ro ^ 


<r 


♦? * t (M M W r-j CN 


CN f> 


0s 


Qs 


0s 0s 


o> 


0- 


o o 


o 


© 


© 


o 


o c 


O C 


o 


© 


© 


o 


o c 










ro ro 


ro *r ♦» 


* 


•*■♦»■ wmwminmiriin>o 


< 


>0 


KJ ■< 


>0 


<! 


>c 


O 


>o ^c 


•c >0 


•c 


rs 


rs rs 


COCDCDQCD0003CDCOCDeOODOOOOCOCOCOCOCO(>e>> 


Os o> 


CK 


Os CN 


0s 


Os 


0s 0s 


r> os 











































deleted entries. The delete rou- 
tine in DELETE will key itself to 
the marker when deleting data. 

The DELETE program (Listing 
5) is chained from the MAINT 
program and is considered part 
of MAINT. Two options are avail- 
able in the program: transfer 
coded data from the master file 
to another file before deleting 
from the master file or just de- 
lete the data from the master 
file. 

Using the first option requires 
the structure of the receiving file 
to be exactly that of the master 
file. This is most easily accom- 
plished by using the duplicate 
file parameters utility in the 
CREATE program. 

The DELETE program allows 
the coded data to be transferred 



before the file is restacked, be- 
cause the data will be lost once 
the restacking takes place. 
When the data is transferred, it 
is added sequentially to the re- 
ceiving file. This means it will 
not occupy the same record that 
it did before. When the master 



file is restacked, the data will 
also have been moved to differ- 
ent records, so both files will 
have to be sorted individually if 
a sorted report is required. 

We have now discussed five 
of the nine BASIC programs that 
make up the data base manage- 



ment system. Next month, we'll 
conclude this three-part article 
by looking at the programs that 
sort the data and generate the 
printed reports. ■ 



F$(1) 




File code. 


F$(2) 




Number of data fields. 


F$(3) 




Number of entries coded for deletion. 


F$(4) 




Fields and sequence for report. 


F$(5) 




Printer options. 


F$(6) 




File create date. 


F$(7) 




Special filename/purpose. 


F$(8) 




Date last update. 


F$(9) 




Fields for totals in report. 


F$(10) 




Reserved. 


F$(11)-F$(30) 


Available for programs. 




Table 2. F$ array details. 



B$(1) 


Backslash (char 92) 


B$(2) 


D 


B$(3) 


N 


B$(4) 


Space (char 32) 


B$(5) 


. 


B$(6) 


1 


B$(7) 


/ 


B$(8) 


- 


B$(9) 


* 


B$(10) 


s 


B$(11) 




B$(12) 


% 


B$(13) 


Date 


B$(14) 


Name 


B$(15) 


Amt. 


Table 3 B$ array details 



5 38 Microcomputing February 1980 





If you're serious about your TRS-80 computer, try these disk based 
programs. When it comes to hardcore software, noboby does it like TBS. 

BUSINESS MAIL SYSTEM by Dale Kuber is designed for large- 
scale business users. Requiring 32K, two disks and printer, this 
program will store up to 150,000 names in a single file spread 
out over multiple disks. Each data disk holds 500 names. After data 
entry, BMS automatically sorts the data by zip code and alphabetical 
order within the zip code. The program tells you when and which data disk 
to insert, expanding your files automatically until you've reached 300 
disks. Data is input directly onto formatted screen display with the option 
to use Company Name/ Attention instead of Last Name/First Name. Three 
numeric and one alpha code fields are provided to help you use the search 
and printout mode. BUSINESS MAIL SYSTEM allows you to program 
the number and spacing of your labels and then print out and read your 
data disks concurrently using accelerated printing. (This mode works only 
with Centronics printers.) With more features than can be described here, 
this high-powered program sells for $125.00. 

ANALYSIS PAD by Del Jones is the epitome of first-class programming 
in business applications. Requiring 48K, and one disk with a printer 
recommended, this columnar calculator gives the user tremendous flexibil- 
ity in data entry enabling the user to create 30 or more columns and rows. 
Enter your own column and row labels. Enter your data by row or column 
or directly onto screen display via edit mode. Move, swap, delete, and add 
rows or columns. Create new pads by stripping relevant data from old files. 
You never have to key in data twice. But more important than the powerful 
data manipulation provided, you can add, subtract, multiply and divide one 
column by another and put results in another column. You can perform up 
to six calculations on one column and even define one column to be a 
constant. The calculation routine you create can be saved and reused. 
Print out the entire pad in four column segments to line or serial printer. 
ANALYSIS PAD was originally advertised for 32K tape at $32.50. Since 
then it has been totally rewritten and expanded to its present 48K disk 
only form and sells for $49.50. It is easily worth twice as much. You have 
to see it to believe it. 

DATA MANAGER by Dale Kubler starts out where INFORMATION 
SYSTEM leaves off. Requiring 32K and one disk, it accepts up to ten 
user-defined fields with up to forty characters per field and 255 characters 
per record. As with all TBS software, data entry and editing is professional 
and simple to use. What makes this program stand apart from "in-mem" 
data managers is that it uses up to four disks on line as memory, or as 
much as 320K of memory storage. Because disk sorts take more time than 
in-mem sorts, DATA MANAGER enables the user to create and maintain 



up to 5 "key" sort files for quick access of data. A utility program is pro- 
vided to calculate the number of records possible since the amount of 
records you can maintain is dependent on a number of variables. This pro- 
gram also supports the upper/lower case modification, and printouts can 
be programmed to almost any format and sent to line or serial printer. For 
Centronic printers, accelerated printing is provided enabling the computer 
to search and print at the same time. If you already have INFORMATION 
SYSTEM, DATA MANGER will accept those files. (We are currently work- 
ing on a program that will merge your data files with Electric Pencil files.) 
A necessity for organized people, this program sells for $49.50. 

CHECK REGISTER ACCOUNTING SYSTEM, adapted for the 
TRS-80 by Dale Kubler and originally written by O.E. Dial, is the most 
comprehensive check-balancing program written. Requiring 32K,two disks 
and printer, this program does much more than just balance and reconcile 
your checkbook. It enables you to define up to 60 account names and will 
generate monthly summaries of all accounts with monthly and year-to-date 
totals. Single-entry input allows the user to disperse one transaction over 
several accounts and to make a 64-character note on each transaction. 
Checks can be printed out after data has been entered. Aside from the 
Statement of Accounts, CRAS also generates the following reports: Check 
Register for any Month, Notes to Check Register, Income/Expense Distribu- 
tion, Statement of Selected Accounts, Bank Reconcile Statement and 
Suspense File. The Suspense file is an extra feature where you can make 
notes to yourself for any month in the year. CRAS will make both you and 
your accountant happy and it sells for $49.50. 

TBS has other great software for your TRS-80. BASIC TOOLKIT, 
SYSTEM DOCTOR & TERMINAL CONTROL are system utilities 
CHECKBOOK II, INFORMATION SYSTEM & EXERCISER are general 
applications. Don't forget the LIBRARY 100; 100 programs for only 
$49 50 TBS also has DISK HEAD CLEANERS for TRS-80 and APPLE 
and GRAN MASTER DISKETTES, the best on the market. 

TBS is YOUR COMPANY, and to you we pledge to produce quality 
software at a price you can afford. The above products are avaiable NOW 
at Computer Stores and Associate Radio Shack Stores nationwide or 
directly through us. For direct mail please include $2.00 for postage and 
handling. 



«^B33 




THE BOTTOM SHELF, INC. 

(404)939-6031 • P.O. Box 49104-K • Atlanta. GA 30359 



v* Reader Service index — page 241 



Microcomputing February 1980 39 



o 
m 
•a 



o 

CO 

ro 
o 





















A 














- 00 

*» iv 
i-i i-i 
^ o 






























O 
C4 

»i 




• 
-1 






































^ 














* 1- 






























CM 




-1 






































i 














v o 






























O 




« 


















































^- CD 






























H- 
















o 

•4 

n 

CM 

o 

V- 

s 


























ii 

A 














u o 














o 








o 








A 

*• 




It 




































^v 














Ul o 




S-K 










o 








M 








ii 




>- 




































• 














-i A 




11 










m 








O 








II 




o <r 




































-J 














II 3 




^^ 










»1 








K 








in o 




n _l 


































o 


^^ 














-^ to 




«t 










o o 








O 








« © 




^ LL 


































Z 












o 


n O 




u 










O H- 


H- 






A 








•♦ ii 




i A 


































••o 


Ul 












in 


>^ o 




1- 










1*1 o 


z 






♦* 








n C J 




A HI 












•>• 
























o 


-J 












rs 


* z 




3 










^ CD 


HI 






O 








II O 




3 A 












^ 
























c 












•i 


V Ul * 




E 










at 


OC 






i 




O 




•r* 1- 




A 












< 

A 
3 








z 
















o 
o 


M 












z 


»ia 




z 










3 O 


E 






f*l 




ii 




LL O 




O OC 














© 
rv 
n 

CM 

o 
r- 

s 














1* 

LU 




ft 












Ui 

X 


^s L» 4Bl 
»1 ^» • 




HI 


iVtji 








CO H 

O r*> 


■ 






I 




*4 




z a 

Ul ♦• 




A O 
•♦ U. 


© 
























1— 
3 

E 
z 




•• 


I 












t- 


* O K 




■ 


rv 








CD <s. 


en 






X 




A 




X o 




O 


C4 










A 


















o 


Ml 












rf^k 


<^. »H 3 




A 


N^ 








♦• z 


oc 








3 




H- II 




© O 


CM 










o 


















• 












^\ 


n %^ Cu 




UJ 


• 








cv ui 


UJ 






H- 




A 


o 


■ r*i 




ii 


CM 










A 


















1-1 


^ 












w 


^ * Z 




oc 


u. 








tv X 


t- 






■ 




O 


<r 


> <r 




^ OC 


O 










I 






i— o 












n 




o *• 


a 












•s^ 


• •m 




n 


««fc 








0> K 


Ul 






> 




A 


•4 


■ z 




A O 


H- 














<-> TiJ 












• • 




o * 














n» 


>■ A 




en 


■ 








a rs • 


X 






■ 




tM 


CJ 


II Ul 




3 


o 














»■* in 












■ 




-C uti 


cc 












u. 


vVK 




Ul 


A 








3 O > 


1 






II 




o 


z 


4ft X 




A Z 


A 










o 




•• 

4T 




* o 












^*» 




11 II 


o 












N^ 


* <-» o 




A 


Ul 








en tv • 


oc 






A 




o 


Ul 


<C 1- 




O O 


♦ • 












o 












en 




o ♦ 














_J 


H- n 1- 






CC 








O A II 


<r 






4ft 




ll 


X 


LL ■ 




CD hi 


O 






© 




n 




O 


Oh H- 












cc 




K ~) 


z 












<I 


X ^ « 




u. 


n 








CD 3 * 


LL 






u. 




n 


»- 


HI >- 




♦♦ H- 


Ci 






C4 




A 




*■» "O 


rv 


II O 












Ul 




o z 




o 










^ 


CD • CC 




n 


en 








•• en « 








HI 




A 


HI 


• ♦ • 




lf> <1 


o 






TM 




^\ 




« A 


n 


* CD 












V— 




CD Ui 


•t 


IT) 










A 


n V Ul 






Ul 








O O Ll 


_J 






•# 




3 


1 


O II 




CM U 


11 






C-i 








«* 3 


CM 

o 


b. •• 












u 




♦♦ X 


en 


«o 










n 


LL Q Q. 




>- 


A 








O CD i-i 


€ 






o 




A 


in 


tV 4ft 




OK HI 


A 






z 






4ft A 


u. *" 












<I 




♦ 1— 


*^ 


ii 










OC 


II zo 




Ui 










>jQ 4>«> ♦» 


z 






ev 




O 


«t 


ev <x 




A LL 


3 






g 




n^ 




IM O 


►- 


•■* o 












LL 

<I 




o « 




O 










o 


* <x 




M 


u 








A tv o 


HI 






tv 




A 


u. 


A LL 




3 HI 


A 








4ft 

u 




O •» A 


o 
o 


•• >q 














"O ^ 


0C I- 










11 


A ^ O 




a 


n 








3 cv ev- 


o 






A 




♦♦ 


HI 


3 HI 




A A 


O 






1- 






m • z 


«» A 












X 




a ii 


Ui O 










V 


•• M Z 




t- 


■ 








en tv ev 


n 






3 




in 


•• 


CO •• 




O O 


A 






■ 




w 




M V Ul 


»• 


U. 3 


o 










u 




3 *~ 


1- 


o 










n t- 


^V %^ 




z 


t- 








O A A 


OC 






A 




CM 


e 


O © 




A X 


• • 






z 




z 




CM 3 X 


CM 


«. o) 


N 










■ 


o 


to • 


z 


«* 










LL Z 


n * 0C 




n 


3 








CD 3 3 


o o 






§ 




cv 


CM 


O CV 




• • ■ 


CM 






• 




Ul 




o a. t- 


O 


■ O 


HI 










... 


o 


o a 


Ul 


n 










H H 


»NQ 




CC 


E 








• ♦ tn tn 


o 








A 


O 


.. tv 




4" V- 


O 






II 




J 




h- z rs 


>o 


tn cd 


»i 

O 










I-I 


o 


CD II 


■ 


o 










m oc 


• A U. 




Cl 


z 








moo 


A n 






•• 




3 


•4 


■ A 




C~l z 


n 






4ft 




u 




o hi m 


A 


a z 










LU 


ll 


Z n» 


1— 


< 










n a. 


N V 




• • 


n 








CV CD CD 


Z ~4 


HI 




■ 




A 


A 


Z 3 




CV HI 


A 






<x 




HI 




O A 


3 


• JU 


►— 










1 


a u 


3 


n 












««» 4^ | 




• 


•• 








O- •• *♦ 


HI flQ 


H- 




A 




O 


3 


hi cn 




A 0C 


3 






u. 




4M 




•• 3 -J 


A 


p- U I 


o 










CD 


K 


x tr 


a. 


3 o 








z 


• o 


■ H ■ 




en 


■ 








flO • » 


<t 3 


X 




Ul 




A 


A 


<t o 


© 


3 a. 


cn 






M 




^k 


o o 


n Ul 0C 


O 


►* ►— 


■ 










■V 


O 


1— o 


z 


en cv- 








oc 


a -o 


X ~ 1- 




en 


z 








3 A UJ 


t- A 


Ul 




_i 




• • 


O 


CD A 


ii 


A •♦ 


o 






•• 




<1 


»1 * 


o z o 


O 


UJ U. iN 


•♦ 










a 


C3 


rs -^ 


M 


O 0K 








3 


Ul IS 


1- * 3 




Ul 


o 








CO LU _l 


Ul O 


z 




HI 




^ , 


A 


« ♦♦ 


i-i 


O - 


CD 






o 




%* 


cm m 


-O • CO 


Z 


B • Ml 


■•o 










• 


• • 


lO M 


•* 


CD A 








1- o 


cd at 


O >- 0. 




□ 


n 








O K- H 


0C CD 


♦• 




u 




t4 


• ♦ 


■ 


CM 


A 0C 


*♦ 






cv 




ftt 


CM CM 


A H- ♦ 


Ui 


3 t- A. 


© 

>0 










■ 


LU 


a »< 


• 


Z 3 








Ul CM 


Z 3 


Z A Z 




u 


1— 








O « U. 


■ •• 


* 








CV 


C4 


LU LU 


O 


♦♦ O 


O 






tv 




u. 


o z 


3 3V 


X 


3 -J 










JC 


1 


-J ** 


Q Ul tO 








CC CO 


4 en 


Ul Z n 




1 


ft. 








M LU 


H- O 


CD O 




Ui 




A 


e 


_J _i 


H- 


O Ll 


ii 






A 




Ml 


i— Ul 


CO LL —1 


t— 


3 O. AC 


CO 










o 


i-i 


oe * 


-J X O 








Z n 


x o 


_l « ♦• 






n 








o OC oc 


Z II 


II o 




oc 


© 


3 


r*i 


HI HI 


o 


II 


o 






3 




■ 


O X 


~ O Z LL 


A 


o z o 


3 










u 


Ul 


o m 


Ul 


1- CD 








Ul z 


CJ CD 


^ ■ 




CC 


oc 








n U LU 


HI <•» 


•"■•> f*) 




o 


CM 


A 


A 


LL LL 


A 


^S *S. 


11 






A 




1— 


A H- 


«Omm 


4ft 


>- M 00 


0) 

O 












II 


CO II 


M 


^ •• 








X Ul 


• • 


A CM 0C 




o 


u 








A X 


OC <H 


HI »H 




X 


O 


O 


3 




• ♦ 


** in 


A 




O 


O 




3 


.. o 


•^ z •• *• 


CM 


•• <r 










LU 


i-l 


^" * 


U. 


O • 








hiy* 


_| w o 






en 








A Ul I— 


LL ^ 


^, 05 






CM 


A 


A 


Ul oc 


O 


N^ 


3 




A 


A 




o a. 


O II 


«p LU •"» ^ 


A 


JhV 


Q 










U UJ 


V ~) 




~* t- 








r4 1- 


A ~ 


Ul » 




Ul 


Ul 








3 _1 O 


♦♦ A 


«t 3 




Ul 


O 


4>4» 


O 


X Ul 


H 


A O 


A 




CM 


4>4> 




*■ z 


H « 


X X « ^ 


Hi 


JZ J 


Z 








o 


<I 


•* 


-J U. 


CC 


^ K 








O II • 


n 


n A CD 




Q 


A 








A hi Z 


■ OC 


U A 




IM 


K 


o 


A 


41 X 


r*i 


OC K 


O 




M 


■ 




in hi 


n Ll 


V- t- w n 


Ul 


i-i ►* u. 


Ul 

I 




♦ 




11 


a. 


CM U. n 


1 


• 3 








^ to >- o ^ 


U. A Z 




o 










O U <t 


O V- 


♦♦ O 




HI 


o 


rv 


• • 


A K 


4f 


H- 


A 




O 


A 




CM 


«r h 


ZOO* - 


u. 


IKM 




u. 




<l 


en o 


n ♦♦ 


Jll 








O <I • 


K * 


V n 




CJ 


OC 


* « 




O 


0C K 


«■ o 




J 


o 


•n 


O 


o 


4»* 


H- »H 


»• 




H- 


OC 




Z 3 


•• •« 


HHNt 


HI 


a. •• 


O 




►— 




n 


>^ 


S3 


• « ^s 


_l A Z 








1U. II 


IM 


OC ^ A 






o o o 


Z <I 


ft 


— 3 LU 


Ui « n *• 


ii 


€ 


4»« 


CM 


Hi 


3 Z 


rv 


« ^ 


O CM O 


o 


o 




Ul Ul 


rv m 


ac a i— » 


•♦ 


01 •» « 




3 




a 


• 


a 


^ ^ 


O V M 








00 n * 


Q "> 


Ul n O 




Ul 1*1 


t- 


«». 


OC 


*» Ul V- 


IM •• 


A (V Ul 


HI 


CM 


OC 


O 


Ul <z 


tv 


flftfj 


CM O A 


A 


CJ 




X z 


cv o 


a. ^ z *>■ 


>^ 


i_| • *N 


M 




ft. 




t— 


V- J 


^*k •. 


■ 


• 








3 •♦ « 


_i in 


K- >- u 




-I CD LU CD 


3 


• 


oc 


I z <x 


o 


A O U 


t- 


o 


o 


9t 


HI 


cv 


o OC 


CM n C4 


4ft 4» 


LU 




t- • 


cv n 


«• ^ HI <x 


^s 


JGh 


/•.. 




Z O O Z U) 


1 * 




")0C 








en ■ u. lu cm 


z «t 




n 


rlt H 


0, Ul 


Ul 


II • Ul 


o tv 


3<0< 


Hl 


1*1 


oc 


A 


■> 3 


A 


1*1 Ul 


Cl A 


a 


o 


OC 




o t- 


A A 


■ « oc ^ 


"1 


lu t 


Z r- 


l-l 


rv a 


n 


□ 


» u. 


^g 


Q O 








o a n 


H w 


w >- t- 




LL C 


Z -1 


t- 


^ H- 0C 


H- O 


to a a. 


z 


A 


oc 


3 


Ui Ui 


3 


r*i a 


Z 3 C 


4P«I 






n 3 


33blva.« 


^^ l 


H J ji 


OC O 


• * 


ID 


•* 


LL L3 j£ * 


Z t- 








O LU •* 


U A 


■ U. 3 






K- Z K 


n 


n 


z 


>o z u 


CM 


O 3 A 


HI 


3 


Ul 


A 


0C HI 


A 


CM X 


Ui A 


h- 


O 


H- O 


<x 0. 


A A 


_i 4ft •• fM 


«ft 


u. o » 


O 1*) 


1-1 


»-• 


■ 


a. 


z 


•• •» 


<• 


« <x 








♦• X o 


• « 


t- n <L 




_J O Ul c 


• • 


U 


HI 


•^ HI 


Ul OC 


cd tn ui 




A 


4ft 


O 


z> 


O 


OC 3 


X O O 


4P4 


CJ O 


Ll Z 


O O 


H- X • ~ 


fM 


_J • 


ri 


a 


... 


O 00 


• • 


Ul •» l- 


«4 _i 


«, oc 




» 




. <t tv 


t- 1- 


3 •• Z 




<I CD _l CD 


■ 




oc 


• oc o 


-J O 


•• O Ul 


o 


O 


z 


A 


O Ul 


A 


o z 


t- A 


o 


A 


uj in 


Hi HI 


o o 


HI w I ft 


^^ 


>- _J Ll. 


• ^J 


■ 


I— 


■ 


n 


X Ui u 


o« nui 




Ul 




en z <► 3 -> 


0> *^ M 




CJ 


•• n •• 


Ul oc 


E 


U. 0. t- 


HI 0C 


O CD 0C 


K 


A 


1 


4»4> 


i- ac 


■M 


oc 


in •♦ 


»♦ 


3 


OC CM 


• • •• 


4»* •• 


t- Z K A 


-J 


z « ^ 


z tn 


D 


o 


ii 


«^ 


»— 


-^ Ijj 


K O 


^ a. 




H 




a aa.» 


Z n 




n 


ii U ii 


_i C 


♦♦ 


♦ • ♦♦ 


LL 0C 


1*1 ♦♦ 


u 




M 


z 


CM 




■ 


0C A 


A O 


o 


A 


ac 


». 


n ^» 


• n 


• LU CD n 


c 


« 4J> 


u. o 


JO* 


■ 


CD 


• -J 


0»-l 


• a 




^ 




JIOSZm 


n ^ CC 




oc 


«1 ll 


n 


U O 


• 


• A X 


O Ui O O 2 


H 


rv en ui 


O 


t- o 


A 


LU OC 


oc o o 


O 


o o 


^ « 


a* 


►- _l Z X 


> 


t ua 


n 


a ui 


• • 


Ul 


a 


*■ 


Q II 


o oc 


■ 




l-< 




ui a en 


H w 


««o 




Ul -O _i «0 


LL 


CM 


oc 


o tv CO 


0C LU * 


1- *4 


u 


Z 


tv ac a. 


r*i 


Z H- 


Z A 4ft O U. O © 


A 


o 


*r 


>^0 >^ 


Z Ml 


Z Ll LU ~ 


+ 


i QC ih 


• • 


• ♦ 


l-t 


1-1 


z 


-J CM 


n * 


.. ui 


A 0C 




>-* 




HJO 


— * 


^ V h- 




X 


A « A 




«» Ch 


o 


■ CV n 


UINZ 


rtCOI 


<t 


tv u o 


A 


<I 


<x a 


HI »1 


1 


• * 




ro 


A 4ft 


*Z A 


HH JU 


•4 


3 <i r 


4* 


z u. o i 


Ul 


.*_ 


Z ~) 


*» X 


V O 




* 




Ll Ul CD O X 


n -. « 




3 3 n 3 


3 


ii 


oc 


ll A 3 


NHH 


II A 


H 


3 


Sh» 


3 


3 H- 




LU ii LU 


M flj 


A 


n 


ui Pi 


3 Ll 


3 


LL .. 01 


Ui 


o ~ 


u. a 




-o z 


n 


i 


^ z 


CM 3 


* u 




Nl 




• t-t •• 


CM ^ 


N^ ■ OC 


o 


z 


CO CJ CO 


Ul ui o 


oc 


~ 3 


-J z 


HI 3 


ii 




3 Ul O 


A 


Z 


1- h 


0C 3 


3 


o 


X 


•• 


A ~ 


1- A 


a. ~ a <i 


1 


I in u 


n 


I" 


0C J 


LL 


Ul 


U Ui 


^ z 


5 




♦ ♦ 




^L U. • 


IV * 


• en ui 


CM 




o Ul o 


z a 


Ul 


I*) A 3 


o <x lu oc tn 


A 


3 


A X O 


o 


3 <r 


U 


Ul Ul 


». (n 


to 


n 


H- C 


O «r 


uo 


♦• « _i ii 


*4I 


• Q 10 


^ 


i-i 


O 3 


>— ^ 




u 


to X 


• 


a a ** 


^ 


* 




tn *- 


•H >^ 


X 0. 


IV 


oc c 




n O 




^ o o 


VMl 


o o 


^^. 


O 


o 


<x in 


A 


O 3 


ui x a. oc 


• o o 


A 




<r 


tD v 


Ul A 


K <^ UJ _l 


Ui 


K _J « 


CN 


ti 


u tn n 


LL 


n 


« K 


at - 


z _i«> a 


n Ul • 


A A 


- oc o 


»* 


ui z en z 


Ll ll CD 


K 


• CD >- 


I- O 


LL O 


1 


> 


a a 


♦♦ 


> 


oc « O Ul 


0C A A 


3 


A 


n 


m 00 


OC •• 


Z 4» HI .. 


♦♦ 


Ul Z LU II 


W 


<— 




a 


1 


Q 


*• 


II * 


■ a 


li« 


N^ 


-I- 


N 


~ X ^ 3 <X 


■ o 


o 


1- 


Ul Ul 


O C 


en 


Ll •♦ 






•^ 




M 


<r 3 


O 


3 


OC 0C ♦• K 


Ul •• 


♦ ♦ 


A 


O HI 


N 


o <t 


oc O 


MXL.« 


^>. 


_l •-• ii _i 


44» 


oc ui o 


^^ 




LU 


-I II 


« z 


MMi 


♦ ♦ m 


00 1- • 


CO t- 


Ul oc 


t- 


z 


x oc X 




«t 


M 


O •♦ ii O 


-J z o 


I-I • 


to 


»* O 


cm o- a 


o 


o o 


o 


<r o z 


A rj 


CN 


O 


CM X 


4K 


© t- 


o * 


oc *•» • ^^ 


*** 


m a: u. •• 


u o 


_i z ♦ 


UJ 


■+■ 


♦• A 


-1 n 


CM Lu Ot A "I « 


« o c 


_l z o 


o 


Ul K Ul K- 


Ul 


iL Z 


A IV O Ul C 


HI HI O 


M > 


* 


Ui A 


ii 


o 


o 


A >- 


CJ 


a. o lu 


X o 


© 


A 


O t- 


O 


o — 


CJ O 


a. • h- <x 


CM 


ii. U_ «"» 


•• 


U 


Kua 


M 


ii 


^v ^S 


z ac 


•«• I 


■ 


U 


*■♦ 


1- Ul 


a m 


1- u. 


CD 


• 


OHO 


x en + 


• 


CD O CO - 


ll • m 


»h H 


CJ 


A ■ 


<ouo 


•4 


■ 


■ 


m ■ 


3 n n 


Z 


•n 


•J 


HI <X 


■ n 


•• t- z ^ 


tftfl 


•• O 4J» 


^\ 


♦ • 


M 


X 


II 


i-i 


LU 


* •> 


ui y- 


#IVJ# 


ft 


***. 


CM 


t- OC >- 


♦• »- 


•1 •> • 


♦♦ 


h- i*i z ro 


< 


H ■ 


h- 


nCkOh 


H- A 


OC ~ 


<x 


O 1- 


A 


_j *♦ 


A 


K A 


t- 


LU 00 t- 


Z A A 


LU 


A CO 


n 


A »- 


V- A 


< 3 HI 4ft 


4ft 


3 cn f) u. 


^v 


N 


i— 


t- 


^v 


tn 


II 


Ul u 


x en 


|M| 


a 


•-4 


O 


Z <X Ul 


*4 Z 


1- A » A Cil 


z 


A Ul A 


z c 


Z C 


Ul Z 3 


— CD ii 


_i Z 


3 


hi CJ 


3 


z a 


z 


_l 3 Z 


3 3 


X 


3 HI 


CN 


3 Z 


Z3 


-Q.0CN 


u 


Ul o »* 


• 


II 


■ 


00 


«r 


• 


1 


•w >«^ 


i- • 


A • Z 


z 


>*^ 


n 


n X 


a n 


+ 


o 


1-4 


^n m ^% 


■ 


■ ■ 


n 


V- OC U hi 


IM hi tn 


«i i^ 


K- 


U HI 


CO Ll O 


cn 


HI • 


HI 


HI 01 HI 


A A 


CO 


H- 


A ■ 


•> 


Ol HI 


hi tn 


• Iftv 


^^ 


z n o z 


u. 


i-i 


t- 


i-( 


a 


i- 


LU 


z z 


^ i- 


V K Ul 


Ul * 


m 


OC Ul 1- 


in oc 


OC oc oc ~ 


n 


oc 


^v ^ «*^ 


h- 


I- + 


OC o o ♦♦ oc 


hi OC O 


II «» 


u 


M OC 


o 


1*1 


o 


OC t- 


oc 


LL O LL 


oc O 


o 


in 


OKO 


o ac 


ac o 


A hi ♦• Z 


-1 


CO I- LU 


^^ 


Ct 


2 


A^ 


*» 


z 


M 


Ul Ul 


m z 


• If 


X V 


3 


a. en 


<t Q. 


Ul Ui Ul n 


A 


E 


hZN 


Z 


3 «J» 


LL O LL f) LL 


JiO 


-i U. 


n 


t«l 0. 


A 


V A 


A 


li- Z 


E 


a a. 


O A 


CD 


\ / 


A Z 


o 


a a. 


0. A 


-1 1- UJ 


1 


LU 3 .J 


-J 


4>* 


i-i 


/-< 


LL. 


n 


<>^ 


-J -J 


»« i^ 


-) n»- 


1- 


•• 


to 


.. LU LU 


** •* 


1- t- 1- ^ 


3 


tM 


vMv 


n 


o. <r 


•« 


.. oc u ♦♦ 


<tX *♦ •* 


•• •♦ 


♦• 


II ♦♦ 


♦♦ 


<t 3 


tM 


♦• HI 


tM 


>- •• *• 


CJ z 


z 


oc 


•• HI 


n 


** •• 


• 4ft 4»« 


Ui 3 Z _l 


> 


i- en ct. o 


<t 


«f 


0C * 


•*-* 


LL 


•» 


O Ll 


w oc 


u. OC- 


■ 


• O 


CM X 0C 


CM CM 


zzz4»cnocM4»oc* 


oc 


z -»- 


oo rs ui >*K co 


hi CM O 


rv «» >o 


~ CM 


in 


_i cn 


CM 


CM OC 


CM U. CM CM 


Ui Ui 


LU 


A 


Cl oc 


n 


C-t CM O CM CM 


HI Ul HI O 


o 


« O 3 i- 


> CM 0l U. 


* 


E 


UKM 


«» Cl 


•H Q.>- Z U. C 


UUILU>-OOOllQ.Ll 


E 


n ■ 


0l CK «t <1 OK 


t- O O 


O X 


II 


~ O 


cv a. c 


O 


o a. 


•4 


HOO 


OC X 


I 


Z 


O Ii. 


O 


O O © ^ O U 2 


»- 


UJ CD ■ «* 


S^ 


0- 


• • 


** 


t- 


♦ * 


^0 


wH •• 


an •♦ 


*• •• • 


• 


ll 


•« 


t*J • • 


ro n 


■ ■ • H 


CD CD n 


*^^ •* ^ 


♦ * 


• • •• 


CK O Z i OK o 


hi ro «r 


S) II 


-^V 


«MO 


ev 


en a 


n i n •• 


O < 


Ann 


• H- 


l~ 


€ 


n ♦♦ 


t- 


n n n >o n 


■ • a. ii 


4M 


CC ♦♦ 1- N 


*: »- a 


• 


z u 


t- 


-I 


II j£ 


■ i- 


• 1- ■ 


1 


Kl-H 


M 


C3Q ♦— 1— 


A A 


t- t- 1- ^ 


♦♦ 


A A Z 1- Z 


»- i- a 


A A n tO A A 


Z A A 


A « 


*-* 


AAA 


A 


HI •♦ 


AUIAV-OAOAA 


t- o 


i 


ii 


A V- 


o 


A A CM A A 


ft- t- •♦ D iC H "I 


u o z *: t- z 3 


■ 


Ul Ul 


Z <X ^ H 


* Z 


■ z« 


• 


•-• 


i- : z ii 


O 3 3 Ul Z Ul 


z 


Z ■ 


3 3 Z OC 3 O 


hi 3 3 3 >0 


^^ 


0C 3 O 


3 A O 


3 A 3 Z O 3 


X 3 3 


3 U 


II 


A 


3 Z A 


3 3 O 3 3 


Z 3 O ^ V-~l H- 


|m| 


>«: »-i 


to 


II 


-J 


_l 


n 


^ 


CC X 


-) •-• 


■ n<t <t 


•j|f 


X 


CO n n 


en en 


tO-Mw 


H 


en en 


JHJ 


n 


n II 


en cn ui i- cn t- 


A A 


CO w 


U 


1- A H- 


A 


1 


to o cn n 


1- A 


A A 


a. oc ac 


0C A hi 


oc 


tn cn h- to a 


hi o. ii ac x oc x 


iceo 


Ul M 


O * U LL. 


■e 


II 


o ui 


U.0C«KU.U.«»UJO0CCCOOZZflC4»inOOU.0CU.0C0C«»OOa.l-OO 


O O 


o«o 


»- O O 


o 


m 


O _J o oc o o 


O O 


Z LL LL 


Ll O 0C 


z 


oooooacznouiouj 


UQ.L.ZZO") 


»-< 


I-I 


a. ui u. z 


HO.QA.H 


n 


X z 


CD 0. LL CD CD 


n n Cl. >- <t CD CD 


M LH 


0. 0. z 


CD CD o <r O CD 


Q CD CD Ll LU 


<T CD CD 


o 


<z 


CD CJ CD ll CD CD 


A A 


Hl HI 


n 


HI 


A 0> O 


OOOOOA.HUb.ZlLZ 


oooooooooo 


o 


o o o 


oooooooo 


ooooooooooooooo 


o 


O O 


o o o o o o 


o o o 


o o o 


o o o 


o 


o o 


ooooooooo 


o © o 


O 


O O 


o 


oooooooooooo 


o»-«rin^in«ofsa)o- 


o 


«4 


cm n 


♦ m >o rvco tv o 


ii 


CMM^rin'orsCDOKO 


1-1 


CM M 


«r tn s) 


tv 


CO O 


o 


i cm 1*1 «r in 


© *i CM 


1*1 «r in 


o rv a 


cv 


O HI 


cm r*i «»■ in 


>o iv 


O ■m CM 


n «r in 


*0 


rv co 


cv 


OitNrJtil>0NC0t>OH 


in m m to in m m in m m 


>0 


o 


O S) 


•O'O'O'fl'O'ONh 


rs rs. rs iv r» 


r^ rv rs co q 


CD 


CD CD 


c* 


cv cv cv cv ev 


O O O 


o o o 


o o o 


o 


«1 »-l 


rtlrt rt 


■n ii 


CM CM CM 


CM CM CM 


CM 


CM CM CM 


romm*nnnnnn+ + 


















































CM CM CM 


t>4 CM CM 


CM M CM 


CM CM M 


CM CM CM CM CM CM CM Ci CM 


Cl CM CM 


CM CM CM t-t 


CMCMCMCMCMCMCMC-iCMnCMCM 



i^M67 



STATIC RAM CHIPS 

CAPTODV DDIMC From the same shipment we use in our 
rMi» I Un I r nilfIC professional quality boards. 

2114L450ns.$5.90 200 ns. $6.90 
4044 450 ns. $5.90 250 ns. $6.90 

Add $5 00 Handling on Orders Under $200 00 

32K STATIC RAM BOARD 

FOR THE SS50 AND SS50C BUS (SWTP etc.) 

• SS50C Extended Addressing (can be disabled). 

• 4 separate 8K blocks. 

• Low power 2114L RAMS (2 AMPS Typical for 32K). 

• Socketed for 32K 

• Write Protect 

• Gold Bus Connectors 

16K $328.12 

24K $438.14 

32K $548.15 

Phone, write, or see your dealer for details and prices on our 
broad range of Boards and Systems for the SS507SS50C bus 
including our UNIQUE 80x24 VIDEO BOARD, and our AC 
Power Control Products for all computers. 

Gimix vi 

1337 W. 37th Place • Chicago, IL 60609 
(312)927-5510 • TWX 910-221-4055 

The Company that delivers. ^G2* 

Quality Electronic products since 1975. 

GIMir and GHOSF are Registered Trademarks of GIMIX INC. 



cio SHORT 

CASSETTES 



50 FT. 



.AL 



MCMOSem ttt 777 Mown S«««w J» . Cl *♦©** 



Qty. Price 

1 $1.00 

10 $0.75 

50 $0.65 

"^ M67l 

Premium tape and cassettes acclaimed 
by thousands of repeat order microcom- 
puter users. Price includes labels, cas- 
sette box and shipping in U.S.A. VISA 
and M/C orders accepted. California 
residents add sales tax. Phone (415) 
968-1604. 



MICROSETTE CO. 

475 Ellis Street 
Mt. View, CA 94043 



TRS-80 



SPEEDUP BOARD 
REVERSE VIDEO 



SPEED MOD — You don't have to spend $3,500 on a TRS-80 
Model II to aet taster computing. Now you can speedup your 
Level II TRS-80 - Disk systems included! - by up to 100% 
(50% guaranteed) with our speedup board. The result is more 
animated graphics, shorter program run times, and generally 
far greater computing power for your dollar. Change between 
normal and faster operation by using a simple BASIC statement. 
The contents of memory are not affected by speed changes and 
a switch is not required (a switch may be installed if manual 
speed select is desired). Changes are provided for NEWDOS, 
DOS 2.2, and DOS 2.3 that allow disk systems to run reliably 
at both the normal and accelerated rate. Buy the most versatile, 
easiest to install, and most publicly recognized speed mod 
on the market today. 

A SSEMBLED & TESTED $24. 95 

REVERSE VIDEO is finally here ! If you're tired of going blurry- 
eyed looking at your video display, then you are ready for 
reverse video. It provides dark black characters and graphics 
on an all white screen for a much crisper and much easier to 
read presentation. Change between normal and reverse by 
simultaneously pressing a combination of three keys on the 
keyboard. 

ASSEMBLED $14.95 -ass 

Add 5% for postage and handling 
California residents add 6% sales tax 

Bill Archbold Electronics 

DeptB • P.O. Box 7123 • Sacramento, CA 95826 
(916) 362-3627 



5 40 Microcomputing February 1980 



3 

£ 



UJ 
Z O 

• m 

y- » 

D N 
Q.O 

Zt- 

MO 

.. O 

• ♦♦ 

• W 

»-o 

2 >0 
0£3 

a. cn 
•♦ o 
~o 



♦ o 

a »- 

H- « 

2 oc 

i-i UJ 

oc a. 

u. O 



UJ 2 
Q t-i 
O OC 

u a. 



3 O 

a. z 

2 

i-i OC 

o 

uC U 

o 



« K K 



oc at 

Ul O 

a. 

o I- 

• 3 

t- a. 

2 2 

H* HI 

ac 

a. a: 

♦♦ o 



CM *< 

O ■+• 
K ~ 

o ** 

C3 M 

n * 
o u. 

A -I 

3 <r 

o *• 

* 

2 OC 

Ul »- 

1 tn 



o in 

♦ ~ 

m * 

cm o 

2 •► o 

UJ • >-i 

X h- m 

H- 3 IN 

O u. O 

H ZH 

<X >- O 

u a 

t-t 3 •• 

♦♦ Ui CM 

K> 2 O 



2 « <"» ~ 

m a o- n 

J (J v w 

a. a. * • 

♦• o * u. 

~ A 2 

th AC V ul 

>o«z 

~ u. a k 

« a ~> 

<~ » 2 <*» 

«» « CM 

>- Q£ «> ~ ♦ 

>, ui oo * a 



n 3 

3 a. 

U3 2 

O »-i 

o »• 



* o 



Ui V 

_l * 

II ■*. 

♦ a 

♦♦ « 

Ui n 
Q~ 

o * 
u a 

A 

Q V 

-I ♦ 
ui * 

Mfi 

U.2 

• <I 
H~ 
Z CM 



K#hZ»^«onri# 

i«IliJ« JZVOOO 
•• A O • A « I M n n « 

i- v h h v 5 ^ r-j * a z 

Z*0£Z»- , «O23UI 

i-< *: tti-ia«^'»-y)c/i_j 
ocu. *ctuu*aoau 
a. i-i o a. i-i i-i >- o o ca i-i 



o in 

cm ~ 
o 

*« CD 

A t- 

3 2 

CO i-i 

o oc 

CD 0. 



>0 

flb 

3 

cn 

o 
cs 

2 
Ui 

I 



* CD 



r-i 



m 



o 

CM 
CM 

cm 

2 
Ui 

z 



■ 

N 

U. 



o 

Ok © 

a, o 

3 M 

CO »i 

o « 

3 
♦♦ CO 

- a 

ui a 

© •• 

2 Ok 

« O 

1 -o 

<_> flj 

3 

O CD 

I- O 

CO 

CO •• 

a © 

oc ^ 

O 00 

U A 

UJ 3 

CC CO 

o 

Ui CD 

Oc .♦ 

o o 

r o 

• 00 

h- A 

2 3 

HI CO 

oc o 

LL. O 

»♦ • * 

o r-i n 

o o © 

n a a 

O 3 3 

H- CO CO 

O O O 

a CD CD 



CN 



2 I- 

UJ 2 

_l »-i 

- 0C 

* a. 

2 ♦♦ 



K CO 

Z 3 

CD O 

hi _i 

OC -I 

II O 

» U. 

a 

♦♦ CO 

in <r 
i 

CO Ui 

II oc 

cn <t 



UJ 2 

CO t-i 

O u£ 

_i a. 

u •♦ 

*• • 



oc u. 

I- 

Ui • 

UJ .*. 

OS. » 

U. Q 
II •* 



! 

o 

g 



© 
N 



■ 
II 



E 



^ 2 m 



CO 

A 
OC 

a 

o (J 

GO UJ 

o oc 

»- 

o u. 

a o 

~ QC 

Ul UJ 

CO A 

O X. 

_l 3 

U 2 

M 

n >■ 
ii <r 
^> _i 

<H OL 

•~ CO 

CO HH 

oc a 



Ui CO 
M Q 
HI 0C 

CO o 
II u 
to Ui 
♦♦ oc 

* 

2 U. 

— o 

2 
Ul oc 

LL UJ 

O A 

•• r 

O 3 

o z 

in ■ 

A t- 

3 Z 

CO HI 

o oc 
cd a. 

o o 

A A 
3 3 

cn co 
o o 

CD CD 



o oc 

•w ♦* 

A CO 

« ^ 

K O 
•» f) 

■ >-- 
CO A 

a <t 

oc ►- 

o «^ 

o • 

Ui CO 
OC A 

oc 

oc o 

Ui CJ 
K Ul 
Ul OC 

r 

OC H- 

« <r 

a. a 



z z 

HH H^ 

oc oc 

ul a. 



Ul 

IS _1 

O H-l 

O U. 
A 
3 0C 

CO Ul 

o z 

K O I- 

z •• o 

M|-Z 

oc -> « 

i. © 

♦♦ ro >- 

in -' « 

+■ m _j 

cn <i a. 

>-» »- CO 

O — HH 

n ■ a 

A CO O 

I- A 

z 

• Z CO 

A O hi 

Ul 3 
CO Ui 

3 -J 3 

A O 

CO < > 

A _i 

0C HH O 

O « A 

cj :> • 

Ul « K 

oc z 

CO HI 

_J ^ oc 
« u a. 
»- « ♦♦ 

0C CN 

»- H- O 

• • t*) 
I- h- A 
Z Z 3 

HI HH CO 

oc oc o 

01 a. cd 



LLl 

cn 

<r 

A 



<I 

A 
Z 

o 
oc 
u. 

Ul 

-1 

© HH 

CD LL 

o 

H- Ul 

o :> 

CD O 



II 

A 



UJ 



z 

§ 

3 

o 
>- 

■ 

►- 
z 

CN 

© 

A 

3 
CO 

o 

CD 






z 
z 
u 
»- 
<t 
oc 
u 

CO 

© ♦♦ 

© *H 

in ui 

A CO 

3 O 

CO _i 

O CJ 

o »» 

•♦ o 

CN II 

© ^ 

M -H 

A ** 
3 CO 

cn oc 

O H- 

CD t- 

♦♦ « 

o •♦ 

o * 

«r z 

A th 
3 Z 

cn ui 

O LL 

CD O 



© 
o 
r-j 
ro 

Z 
UJ 

I 



LL 



cn 
a 

Ui 

H 
u 

r 
« 

<t 

LL 

UJ 



LL 

UJ 

K 

<t 

CJ 



© LL 

A 3 
O A 

o 
a 



© 

in 

A 

3 
CO «-i 

OUIH 

CD CO K 

♦♦ O X 

* _i Ui 

z u z 

H— ** •♦ 

3 • * 

LL • CD 

Z II II 

HH *+■ 'K 

♦♦ m hh 

■ *—• >^* 

Ul * * 

_l CD U. 

HH •• •• 

u. o «r 

o n 

OC -h CD 

Ul ~ * 

K A 3 

CO 3 CO 

« CO o 

Z O CD 

o — 

u. ♦• © 

O M M 

II o 

z »* *■* 

<X <~- II 

Z CO HH 

oc oc 

0C H- O 

Ui »- u. 

>- « ♦♦ 

Z •• *h 

Ui © II 

■ O tH 

k in oc 

z n ♦• 

HH 0C «-• 

oc o n 

a. oc -> 

♦. oc •• 

CN Ul fK 

o * o 

n z >o 

OhA 

3 Z 3 

CO Ul CO 

O LL O 

CD O CD 



IN 

OK 
OK 

A 

3 
CO 

o 

CD 



«-l •» 

z 

Ul ■ 

:> ii 



z 
»- 

■ 
■ 

u 



© 

OK 
OK 

A 

3 
CO 

o 

CD 



CO 
Ui 



UC 

a 



z z 



z 

•a ui 

oc 

o 

z 

3 O 

Ul 0l II Ui 

_i z n h- 

u. •♦ ♦♦ u 



Ui 

z 

oc 
o 
u. 

© K 

^h CO 

A HH 

A A 

3 

cn ui 

O CD 

cd <r 

" z 

• Ui 

II ■ 

<•» »- 

CD Z 

■^ HH 

* oc 

U. 0l 

♦ • *♦ 

H» CN 

z o 

II M 

~ A 

-0 3 

<-- CO 

♦ o 

U. CD 



Ul Ul 

_i cn 

^ o 



LL 

3 
A 



uni- 

Z II 

U. «H Z 

O w <i 
CO 3 
Ul oc 

thD 

« »- o 
z « > 

oc © a 

Ul O A 
I- M • 
z «-• »- 
Ui A Z 

• 3 HH 

K CO oc 

zoo. 

HH CD ♦♦ 

0C ♦♦ CN 

LL * O 

•♦ z n 

t- »H A 

Z Z 3 

HH Ul CO 

oc a. a 

LL O CD 



o o 

ri in 

n ro 
o o 

>- y- 
o o 
a cd 

• • ♦• 

CN Th 

© o 

A A 
3 3 
CO A 

o o 
cd a 

OK 0K 

0k 0k 
A A 
3 3 
CO CO 

o o 

CD CD 

• • •♦ 

cn r>i 

r-t *H 

>o •« 

A A 

3 3 
CO CO 

o o 

O CD 

in in 

0k 0k 

O 0k 0k © 

CD A A CD 

O 3 3 O 

K CO CO *- 

o o o o 

CD CD CD CD 



Ui 
A 

<x 

A 

« 
<I 

A 

© o 
A A 

o <r 
»- o 

O -J 

CD LL 



o© ooooooooooooooooooooo 
wn*m<oMi)CKOHpjn*in'00«Hrir i )*in'ON 
Tf*f***»inminininininoooooooo 
cn cn r-i cn cn ci n cn cn ci n n m pi cj n m « n n n n m 



OOOOOOOOOOOOOOOO©© - 

iHMmHro«-irinHi-m«orsAOKO'HOoo 



00OH«l«)*OHMI<)t 
O C4 Ci CN CN CN Hf Hf h|- hi- Hf 



o o o 



M •*) HT) HJ) 



in in 

f*) t*J f) 



o o o 

«r in ok 



-5 



C3) 

•fc- 
CO 















































O 
















































o 
































o 
















in 
































CV 
















A 
































tv 
















1- 
































A 
















O 
































3 
















A 
































A 
















• ft 
































O 
















fK. 








■ 
























A 




z 












CV 








u 
























*• 




cc 












tv 








! 
























«0 




3 












A 






























0K 




1- 












3 








<t 




■ 




















0k 




Ui 












A 








-1 




Ui 




















A 




oc 












O 








HH 




_J 




















3 




z 












A 








HI 




>^ 




















A 




Ui 












*>*> 








=> 




u. 




















O 




z 












tv 








<I 




k£ 




















A 

•• 




H- 
■ 












tv 
cv 








A 




CJ 




















h- 




>- 












A 








i 




1- 




















2 

HH 




■ 

II 












3 
A 








HH 




00 








O 












DC 




*• 












O 








»- 




Ui 








c 


o 










LL 




<I 












8 








CJ 




oc 








— 1 


o 










•* 




u. 












••> 








i 




1 








2 


o 










• 




HH 








C 




■ 










« 








UJ 


y 










0" 




• • 








•J 




2 








u. 




r- 








X 


»■ 














o 








in 




C 








■ 




« 








«- 


c 










Ui 




cv 








X 




t-i 








H- 




A 








O 


o 










oc 




CV 








X 




t- 








Z 


■ 










»— 


in 










3 




A 








X 




u 








HH 


<I 


Ui 








■•"■. 


~c 




z 






A 




3 








X 




Ui 








0C H 


I- 








c 


•k 




Lt 










A 








Ul 




oc 








UL 


<x 


Ui 








OC 






3 






3 




O 












X 








»« 


B 


_1 








r ] 


c 




H- 






C 




CD 








* 




o 








>- 




Ui 








i-i 






Ui 






>- 




• * 








2 




u 








z 


>- 


A 








V 


^0 


Ul 


uC 










A 








-f- 












HH 


<i 


■ 








<r 


ft. 


-J 


♦ * 






Ui 




tv 








■ 




Ui 








OC 


_; 


2 <-> 








Ik 


c 


A 


<t 






OC 




(V 








*» 


z 


X 








LL 


LL 


3 u - j 








■ — 


o 


<r 


<Z 






<t 




A 








■ 


X 


<I 








• • 


cn 


i-^ 








* * 


in 


1-K 


u. 






■ 




3 








♦ 


X 


z 








• 


r-i 


H- ■ 








<i 


in 


oc 


II 






>- 




A 








•« 


— 


* 








z 


B 


Ui H- 








*» 


». 


<c 


L-i 






2 




6 








C 


OJ 


K 








<I 




_i 2 






■ 


■ 




_> 


♦ « 






^ 




A 








rH 


X 


Z 








uC 


>-^ 


Ui HH 






>- 


Ul 


c 




•rH 






OC 




• • 








2 


• ♦ 


HH 








CD 


CM 


A LC 






j: 


5 


O 


K 


HT 






Si 




■ 








Ul 


rH 


X 








O 




LL, 






C 


M 


in 


c 


II 






»• 




^■ 








X 


ii 


X 








OC 


• 


OC •♦ 






■— 


in 


»■ 




**»^ 






a 




Ui 


■ 




o 


X 


w 


♦ ♦ 








0l 


►» 


a ■ 






-j 


UJ 


o 


jr>V 


A 






<r 




-i 


Ul 




o 


»* 


<x 


s 










2 


U. 2 






Ui 


B 


o 


4» 


A 






>- 




t-t 


_! 




•rH 


.♦^fc 


*» 


A 








Ui 


I— I 


O 


■ 


• 


a 




in 


■w 


-0 






« 




u. 


M 




2 


--H 


r-i 


Ui 








CJ OC 


Ui >^ 


2 


2 


— 


a 


«r 


u 


Oj 






A 






U. 




UJ 


ft- 


LLi 


X 








2 


LL 


A 1- 


LL 


UJ 


B 


3 


k 


A 


>0 










Ui 






X 


r« 


cn 


X 








<X 




O Ui LL 


LL 




>- 


o 


<r 


1-1 






Ui 




z 


u. 




r- 


■i 


c 


A 








2 


■ 


UJO 


B 


r 




o 


n 


>.• 






t- 




<x 


a 


« 


^— ^ 


^r--. 


X 


>- 








UJ 


UJ 


UJ 






<L 


x: 


o 


^ 


Ui 






-C Ui 




A 




r 


f— 


»> 


X 


A 








V- 


_l 


uC A 


s-*V 


>»^ 


OC 


<i 


«r 


o 


\t 


2 2 


cv _J 




• 


LL 


>i 


>— ' 


2 


*♦ 


■ 








2 


r-i 


o 


rv 


•> 


CD lC 


|l 


cv 


o 


OC 


.^»* 
u. 


CV Ui 




t- 


r 


cc 


# 


^*- 


-»*S 


CV 1- 








HH 


LL 


oc 






c 


CD 


o 


>0 


LL 


3 3 


A A 




Z 


<i 


a 


OP 


# 


f-t 


Z Z 




3- 




<t 




I- o 


■ 


■ 


OC C 


o 


oc 


• « 


»- 


r- 






HH 


2 


Q 


:: 


X 


V-f 


1- t-l 




rv 




z 


a 


MU.K 


r- 


LL 


Lt 


o 


>0 


<x 


Ul Ui 


A _J 




ge 




CC 


* 


H 


X 


X X 




Ui S 






r- 


A 


2 


2 




LL 


KO 


iH 


<r 


oc cc 


a _i 




LL 


CC 


E 


2 


rjo 


H 


ui x 




u m 


1- 


Ui 




Ul Ui 


rH 


r-i 


a 




»• 


V 


u. 


•♦ 


• * 


A <^i 




• « 


Ui 




U 


— ' 


X 


z ♦♦ 




2 


2 


_i 


<r 


A 


LC 


Lt 


r- 


K 


o 


u 


ii 


o o 


♦♦ 3 


2 


in 


L- 


i- 


M 


«» 


X 


z * 




<I O 


HH 


HH 


i- 


► O LL 


LL. 




CJ 


o 


j^: 


A 


00 o 


CV 


CC 


cv 


2 


H 


♦ • 


B 


X 


Ui X 




2 lC 


<X 


U. 


<i 


Z CJ 


• ♦ 


• • 


2 Ui 


Ul 


o 


• • 


0C LC 


CV A 


3 


CV Ui X 


* 


r-i 


LL 


I X 




Lli HH 


z 


■ 


a 


u 


■ 


■ 


0C -i 


H 


LL 


111 


>0 


«<3 


Qk HH 


H 


A 


■ 


LU 


2 


X. 


li 


1- Ui 




1- u. 


1 


1- 




oc o z 


2 


3 Ui 


■i 




>0 


•rH 


iH 


A Z 


UJ 


3 1- 




H- 


1 


r- 


rv i- 




2 « 


Ui 


2 


A 


« 1- Ul 


Ul r- A 


o 


OC 


II 


11 


II 


3 h- 


OC 


ff\ 


2 


3 


3 


^ 


ft* 


II z 




rt Z 


z 


HH 


A 


ui 3 a. 


a. ui 


• 


o 


"S 


*-^w 


0* 


*•». 


A ■ 


2 


5 


r-l 


r- 


X 


<I 


Ifr 


X HH 




<L CO 


« 


OC o 


-' <I z 


o a 


o 


A 


A 


LL 


Ui 


O 1- 


Ui 


A OC 




2 


• • 


2 


X X 




i: 


2 


Ol, 












ID 


N 




A 


HT 


<r 


CD 2 


z 


z a. 


/ 


HH 


rH 


-♦- 


Ui X 




j 


Ui 


♦» 


--N 


^ ^ 


*^S 


^r~* 


^ 


LL 


o 


2 


>C 


>o >c 


•• HH 


1- 


UJ 


*• 




• * 


a 


■ 


X ♦♦ 




Ul Ui 


-1 


N 


t-t 


m «r 


■o 


cc 


o 


2 


H- 


HH 


OC 


oc oc 


CN 0C 


■ 


X 


111 


CC 


CV 


r- 


• • 


A Ul 




_i o 


HH 


© 










1-H 


HH 


o 


_1 


>0 


>0 >0 


O LL 


V 


1— 


tv 


a 


CV 


o 


■ 


Hf tV 


e 


M "J 


u. 


n 


■ 


• ■ 


m 


■ 


I 


• * 


CD 


OC 


-r- 


iH 


— 


M ♦• 


■ o 


p4 


CV 


■ 


o 


ii 


♦ 


II tv 


iH 


u 




A H- 


i- t- 


r- 


►» 


r- 


K 




Ui 


^ 


^^ 


N^ 


A H- 


II A 


II 


X. 


H- 


A 


cv 


*» 


X A 


m 


>- 




3 


2 


2 2 2 


2 


2 


2 


<r 


z 


Ul 


Ul Ui 


3 2 


* O 


ro _- 


2 


3 


2 


<r 


X 3 


a 


A 




A 


rH 


HH HH 


rH 


r-i 


HH 


HH 






B 


^ 


2 


A HH 


« h- 


< 


cn 


HH 


A 


X 


ii 


Ui A 


H- 






O OC 


OC 0C 


li 


Cr; 


BC 


CC 


2 




o 


o o 


O OC 


u a 


u. 


o 


CC 


a 


a 


* 


X o 


a 






CD 0l 


LL LL 


U_ 


LL 


LL 


LL 


O 




Ii. 


a. 


a. 


A LL 


HH CD 


>-t 


CD 


LL 


A 


X 


2 


y-t CD 


A 



_ o © © © in © © © © »h cn © fi © hh cn m hi - o r-J © cn in © o © © © © 

ooooooOrtNnt^inoHooonnooooooOrtHrtNntBKo 

^^irnHru^ffl^^^^^^^ wwnr * 5n ** >f * 1 *** , '* ,n, ' ^l^l,nln,n,0,n,n,n,0 






— Professional — 

Real Estate Programs 

available on cassette or diskette 

for Apple & TRS-80 II 

Property Management System 

• Rental Income Tracking 

• Complete Expense Analysis 

System w/Manual $225.00 
Manual $15.00 

Program Modules: 

1) Home Purchase Analysis 

2) Income Property Cashflow Leverage 

3) Construction Cost/ Profit 

4) Tax Deferred Exchange 

5) APR Loan Analysis 

Price Per Module $30.00 

Add $5.00 for Programs 

on Diskette 

At Computer Stores 
™ everywhere or call 

L ealty | |ompany (213) 372-9419 

for COD. H-R33 
2045 Manhattan Ave., Hermosa Beach, CA 90254 




TRS-80 SOFTWARE TRS-80 

Aardvark games are now available for 
the TRS-80, Level II. 



REAL TIME 

Starfflghter $5.95 

A real time space mission featuring 4 types of op- 
ponents, working instruments. 3 types of weapons, 
and 10 levels of difficulty. 
Slashball $5.95 

Once a machine code favorite, it's now available in 
BASIC. It takes fast reflexes and planning to score. 
Breakthru $5.95 

This fast action, pinball-like game features user 
selectable bumpers. 
FOR THINKERS 
Battlefleet $5.95 

This one is Battleship all grown up for adults. A tough 
thinker's game that you play against the computer. 

All programs come on cassette with listings and 
documentation. 



Send $.25 or SASE 
tor descriptions. 

^A90 




AARDVARK 

TECHNICAL 

SERVICES 

1690 BOLTON, WALLED LAKE 
Ml 48088 313-624-6316 



OSI SOFTWARE OSI 

FOR 

OHIO SCIENTIFIC 

30 PROGRAMS 

ALL ORIGINAL ALL IN BASIC ALL RUN IN 4K 

ALL ON TAPE ALL WELL DOCUMENTED 
AVAILABLE FOR C1.CZ AND SUPER DO A RD 

Our $1.00 catalog includes a free game listing, pro- 
gramming hints, POKE locations, and other stuff OSI 
forgot to mention. 

♦ ** SPECIALS * * * 

CHESS FOR OSI S 19.95 

( not in DASIC-specify system) 
TEN TANK BLITZ S9.95 

A new concept in video boord gomes for the worgomer 
who wonts real time action. 

LINE RENUMBERER $4.95 

Renumbers lines and GOSUDs, GOTOs. & IFTHENs 

-**> AARDVARK 
TECHNICAL 
SERVICES 

1690 BOLTON, WALLED LAKE 
Ml 48088 313-624-6316 





Microcomputing February 1980 41 



00 

n 
o 



Ui 
CC 



n 

a, 

=> 
tn 
o 
a 






u 

Ui 
CC 
CC 

o 
u 

cc 

UJ 



Ui 

* 

_i 

Ui 

u. 



z 

CC 

r- 
tu 



2 



a. 



UJ 

cc 



Si 

o 



2 

5 

<t UJ 

CC 

t-1 ♦• 

u: o 
UJ o- 

r r> 

a a 

2 3 

tn 
2 o 

■ i— i CD 

uj tn • 

r- CC <L 

2 UJ K 
Ul I- <E 

I U Ci 
UJ <X 
CC CC CD 
<X 2 

1 H-t 

- u en 
t- cn 

3 _l UJ 
u. <E U 
2 U O 
t-i i-i oe 

t- a. 
_j u ■ 

<X Oi ~ 

o «o 

UllH 

_J u. ** 

-J -i a 



2 






ro 

cn 

o 

CD 
2 •♦ 

CC • 

Z> <X 

r- H- 

UJ <t 



3 2 

I UJ 
CD -J 

2 



II 

<r 
« 

2 «- 
CC - 

3 UJ 
I- 2 
UJ O 

a: 2 

♦ * 

IV CC 

0* O 

0- u. 
a 

3 o 

cn 

o CC 

CD o 

♦• 

— UJ 
M CD 
IT) 2 
iZi <I 
3 I 

tn cj 
o ■ 

CD H- 
♦• 3 

e> a. 

CC 2 

CC i-i 
Uj .. 

1- ■ 
2 O 
i-l r- 
CC 

u. X 
m cn 
■ t-t 

— 3 

cc 

O 3 
CC O 
uC 
UJ 



UJ 
— 
UJ 

UJ 

CJ 

X 

UJ 



2 

cc 

3 
»- 
UI 

cc 



X 

UJ 

2 



03 

m 
oo 

2 
UJ 

X 

O 
II 
X 



CD 



r- 
X 
CD 



UJ 



I 



CD 

2 
UJ <-» 

_l tH 
» I 

*> X 
CD •> 

♦> 
CD 



> •-! Qhv 



UJ uj i-i 

i-l ^ _l ^ 

U. CO UJ * 



2 22 

M HH 

CC CCCC 



2 2 



0D O 
CK M 

tv m 

iZi a. 

3 3 

cn cn 
o o 

CD CD 



u. 

2 O 
I-l 
CC CC 

a. ui 

•• 1X1 

o r 

ro 3 ~ 
n 2 ^n 
a ~ 

3 a:* 
cn uj cd 

o r- 

02a 

♦♦ UJ _l 
tH ■ HH 

UJ r- 3 

cn 2 * 

O h-i 

-i ac 

U u. 



CD 
II 



~ th M 
* CC il 
O ~ ti 

♦♦ • a: 

o CD 2 

rO UI 

O UJ X 

i- cn t- 

II <t »H 

i-i a. a 

0C H-l 

O U. 

U. HI 



cc 

~ 11 
th ~ 

CC tH 

CD * 

~ CD 

X ♦• 

UJ ^ 

iZi H 

2 I 



O O 03 

m ro r> 

333 
cn cn cn 
000 

CD CD CD 

m *MBormonoHrj*-ooDOv<oa)Oi 
o ooo^H»-i»-ii-irtrnnMt , nMn^'<r^-^-^- 

•■0 >0>0^^>0>003CD(BCDCDCDCDCOOOCDCCCDCn 



X 

II ~ 

uC ^ 
2 i£ 

UJ >^ 
X * 
H- CD 
o ^ 

CN 2 
A UJ 

HI _l 

U. II 



CO 



U. 2 

UI lC 

_l 3 

II I- 

* UI 

CD CC 



OU. # 

JU.X 

• II UI ■ 

a * _i ^ 

JQ II « 

UI •♦ ~- CD 

i-< ^ 1— 1 %<• 

U. CJ ~ 2 

•• « UJ 

•• ♦ X _l 

Ui CD ** •• 



HHrtX 

H- X ^ •> 

~ CD K» «» 

Hi iii CD 

* 0£ •• v^ 

CD II « «• 

^ CD O 

UJ HH w HH 

cn ~ x x 

uC » UI li 2 

« >- a * oc 
a. .♦ 2 hh 3 

OHvh 
I! II * UI 
X X N uC 



© 

2 
UJ 

X 

H- 

rs 
in 

A 



U 

cn 
<r 

2 a: 

a: o 

3 CD 

H- * 

Ui 

hh <r 
h- •^ 
X u 
ui cn 
2 c 
u. 



~ CJ 

_i N^ 

<I * 

_> ^ cd 

<i 2 -t- ^ ^ 

t— a; ^ ^ ♦ 

<I 3 H f-J O 

Qh I « m 

ui hh «. :c 

ui^O || 

_J 2 V ~ •* 

UJ UJ II <X 

H I <N (J M 

U. H- HH 2 ^ 

CJ ~ HH -» 

x v 3- a: cj 



hh ^> ^-n cn 
3 cj ^ 

v CJ 

> ♦ ^ 

<r u. * 
oe ^ u. 

ilijv 

« <r _j 
_> <t 

v u. © 

HH O 



CD 

UI •*■ 
H- 2 
<I UJ 

a -J 
o 



<r cj cj 

o II II 

_J ^ HH 

'-i oc 

** o 

>- u. 



h- a. a: <r 



11 

3 
u. 



© 
2 ^ 

ui r< 
1 ► 

H- ^ 

CJ « 
>^ CD 



at 
3 
1— 
ui 



♦ LI 

CD >-• 



O -»- 
II IV 



o 

cs 

2 

Ui 

X 

H- 
« 

2 



CD « «V 



2 X 

UI CD 

_i HH 

V uC 

X II 

u. ^ 

HH UT 



II 



CD 

2 
UI 
* X 



m 
I 

x 



O -H CJ O "H CJ 

ID if) UT © © © 

co cc 00 0* y- o*> 



■n CJ 
+ A 
X ~ 

II -v 

X UI 



Xt CD 

II ^ 

i£ ^ 2 

!- X Ul 
X ^ _J 

UI ■* u. 
2 CD hh 

ro ^- m 
000 

0s C^ 0^ 



2 

~ « 2 <r 
-(- a: • 

CD ^ 3 >- 

2 «r h- ■ 

uj ~ Ui A 

x * ui v 

h- ♦• * 

CJ + HH <I 

■■■ ^ r— U. 
«NXh 
^^ ^^ UJ *♦ 

~i * 2 •* 

^^ tXi ** ^ 

« H> ■ » 

CD ^ . • ■ 

vn« a 

2 ~ 'o 

UJ*HZ 

JQv 
U. II * CC 

HH ^ CD O 
.. f.j »» 

UT ^ liT >- 
O « O 
h-OH-v 
M ♦♦ 1-1 ■ 2 
II I II I- CC 

3 H- hh 3 3 

Ui X Lt U. H- 

o ui a 2 ui 

U. 2 U. HH Ui 

o o rj o> o> 
s cy o*" cV" 0^ 



n 



2 

QC 



UJ 
ui 



Ui 

3 
2 

2 HH 

Ui H- 2 

3 2 ui 

h- a 3 

UJ u H- 

ui ui 
♦♦ o oe 

^ t- .. 

n 2 a* 

<•-*. ^ .^». 

th h- m 

-OijJ H 
Vliv 
* « 

ui cn ui 
« cn <x 

X Ui X 

CJ ui CJ 

v^ U. »-• 

«♦ • » 

H- H- H- 

<r 3 <r 

Ui U. UI 

li. 2 u. 

UJ hh UI 

ui ♦• ui 

H- H- I- 

2 2 2 

HH l-l HH 
Ui Ui Ui 



m 

© 

3 

h- 
3 
3 

• * 

O 

II 



cn 
cn ui 

<r •- 

ui <t 

ui •♦ 
<C CJ 

cn o 

2 h- ^ 
ui u ui 

3 cn 3 

H- ui 
Ui B ui 
K 2 UJ 
♦♦ « * 
~ 2 
N«rt 
» H- 2 
^ ^ Ui 

m g a. 



2 
BE 

3 
I- 
Ui 

ui 

© 

m 

3 

£b 

3 

cn 
3 

CD 



is 
c* 

Ch 

Si 

3 

cn 

3 
3 

♦ ♦ 

© 

ii 



^ ui 

« Ui 
ui h- 
<Z ui 
X X 
3 <t 
w ui 
♦ <X 
I- ii. 

<r 
uj cn 

U. HH 

ui <z 

Ui ui 

H- Ui 

2 



© *H 

© o 

liT O 

US 'H 

3 3 

cn h- 

3 3 
CD 3 

* ♦ ♦* 

CJ CJ 

© ^H 

r« >o 

3 3 

cn co 
3 3 

CD 3 



O 1-1 CJ 
«>0MD0>OOO 
0>0>M>0iOOO 
CKQsOsQsQKi-ti-ti-t 



N X 

© H- 

n in 

Xi T- 

3 <r H ■ 
cn h- _: • m 
O « U. M 4» 

3 a hh * 
»♦ ♦. Ci 

Ui •»-i Q ui 
1*5 _i H- ui 3 
© H- _i 3 U 

»H H II CJ UJ 

1 1- Jdji 
3 •♦ ui • 
cn ^ ^ ■ ~ 

a 1 *«• <■* o 

3 CJ Ci © th 

♦• >-* *h ^ 
cj cn * ^ iii 
o Q U. iZi <x 

aj 3 _i K h- 

3 CJ <X h- 2 

3 UJ 3 2 hh 

3 ui 3 hh ui 

3 H- ui u. 

*• >■ 1 u. Z 

o <r ii 2 ui 

rt JMUII 

•rt u. ui X i- 

rllflOhrt 
iSHli.iHrt 

3 1Z1 ♦♦ II II 

CO Omh 

3 II U. U. 

3 JHM 

m o 1-1 cj r*3 

O »-l y-> i-l t-H 
OOOOO 



m 

Hi 



i— I N^ 

ui « 

3 fsi 

u ~ 

Ui UI 

ai CJ 

■ — ' 

O <L 2 

i-l i- ui 

*^ «» ^ 

A ^ H- 

4 H Ui 

I- ^ uC 
I- * 2 
2 X Ui 

HAl 

u_ ^ O 
2 A II 
Ui *X i 

X H- U. 

H- <•> HH 

rt M •• 

CI H- HH 

II 2 h- 
*-t t-t X 

U. ui UJ 

H u. Z 

^NQD 

Tlrlrt 
OOO 



3 
3 

■ 

O 

■ 
li 

n 



u. 

2 



2 

ui 

3 

H- 

LU 

a: 

♦ ♦ 

o- 

0- 

OB 

■j 

a 

(9 

•> 

•rH 

o 



^ X 

^ ■ 

* o 
u. ■ 

<•> ii 

■ ^ 

in 

ii ^ 

Ui 3 

X ui 

<L 3 

2 • 

UJ • 

-i II 

HH — . 

u. \n 



3 HH 

i . '. •♦ 

a. h- 

CO 2 

■ HH 

h- ui 

K 2 Cl 

2 HH ♦♦ 

H- ! Ui ^ 

Ui Li. 3 



CJ ~ «•• 

I W • 

*» U. 

* ••• li 
2 • 

^. Ui 

2 ii i- 
Ui <L 

_i CO Q 

>fii 

» _i 3 

2 Ui 
v H H 1 

♦ u. cn 
1- « 

X U. _J 
CD 3 ■ — » 
hh J— ui 

iii CC 2 ~ 

<»■ Uj H # 

• iXi ui 3 

x a. H- 

13 — 2 

2 ^ hh 

ui ■ >o ii: 

_i H- ^ Ct. 

m2»« 

li. H li. • 

ui "■ ui 

i u. • CD 

a ♦• <I 

u. ^ li cn 

•fh cn 

^ ^ C UI 
H- ■* UJ X 

<r u. h- 

u, «•• « U"3 

■ UJ * 

3 ui 
2 li CJ Q 
HH ui 

u Ui UJ O 

« C5 H- U 

UI C C UJ 

X U Ci ui 



2 
CC 



Ui 

s 

♦ • 

IS 

&> 

0- 
1X1 

31 

3 

3 
3 



2 

HH 

QC 
ii. 

♦ ♦ 

■o 

1-4 

* 



r*3 ■ 

* iC 
U. 3 



<I 
© 2 

I! 3 

y-i 

H- 3 
" 2 

■ HH 

2 2 

3 HH 
HH <T 

H- z: 
UJ ui 
-I cc 
UJ 

Q co 
c 

CL CC 

3 3 

u. o 

Ui 
Ci cc 



2 2 2 2 

HH HH HH HH 

CC CC CC CC 



cj «r >o rs 

f*5 f*5 f*) f) 

o © o o 



3 2 
3 hh 

CC 
3 ii. 
Ci •♦ 
CC li" 
3 ! 
CJ ^ 
Ui ■—• 
CC ^ 

Ui 

• Nl 
«•■ t-i 
~ CO 

HO «" 1 
^ • 

* Ui 
U. _i 
r— hh 

2 U. -^ 

HH ^. 

CC 2 -h 

U. HH ~ 
2 « 

ui cn 3 

Xu ^ 

H- CC 

-h 3 <t 
II CJ K- 
A UI <E 

~ CC Ci 

HO <X >- 

^ J- « 

* <I _i 

u. hh a. 

^ . cn 

_l H- HH 

<r 2 c 

© HH 

U. CC 

HH u. 

CO Ov © 

r*) rn in 
©00 



2 

CC 

3 
H~ 
Ui 
CC 



NJ 



<x 

© 



CC 

c 

Ui 
fit 



« 2 

* 3 

N H- 

** UJ 

-i CC 

© >-l 



~ JM 



cc . 



>- Ci 



^ U"3 
th CJ 



« iX 

3 <r 



cj x ~ 

^ il «* 

« ^ X 

U. CJ ^ 

—• -^ UT 

_J * ~ 

© ♦♦ « 

3 ■ H- 
H- ■ «- 

rt || H 

H ^ I- 

>-> Ci 2 
CC ~ hh 

3 * CC 
U. 3 ii. 

cj «r ui 
in ut in 
© © © 



_i 

UJ 



^ X 

CU Ufl 

~ _i 2 <t 

>-)—!•• 3 

>. it ^ ■ 

— I— ! 

•« X ~ 



X 

LLi 



3 
11 



* H- 

U. X 

T 2 

r*5 •♦ 

3 o 

Ci 7 

3 3 

CO * 

3 3 

CO CD C" 

>- •• 3 

<I © 3 

cc n " 

CC 3 O 

<I H- 1*5 

•rH CD 

C ii Ci 

HH 3 

CC 3 



U. 3 



* CC 3 

OUm 



3 U. * U"3 CC 



m 

1-H 

* 2 

CJ CC 

li 3 

HH K 

CC UI 

3 CC 

U*5 ♦♦ 

i-H HH 

II H 

HH X 

u. u 

y-4 2 

i0 3 

ut in 

o o 



Cj 
UJ 
ii. 
3 



HH TH CJ 

X Ui 
ii 3 CC 

— ' Cl 1-! 

CJ CC K- 
^ 3 Ui 

• 3 3 
3 UJ ♦• 
•• CC U"5 

• 3 

• Ci r- 
i! <X th 
^ UI II 
CJ CC t-i 
~ CC 
♦» 3 
3 U. 

TH O Hi 

>0 O O 

O iH tH 



HH U 
U- TH 

CC 
X ♦♦ 

3 IV 
CC o 

u. >C 
•^ Ci 
UT 3 
I 3 

TH 3 

v CD 
* •♦ 

CD O 
O 

Ci th 

«X TH 

Ui Ci 

CC 3 

W 

3 
3 



J 
<I 

© 
3 



2 
CC 



X 

Ui 

2 



** 3 » 

<-» HH 3 

r j Ci >~i 

** a 

4r» 3 CC 

H- 3 

3 

>^ Ui 

UT CC 
I TH 



II 

HH 

CC 

3 

U. 2 

•• CC 

Cl 3 

II f- 

11 UJ 

CC CC 



♦h K <I 

"DO 
« ii. 
3 



O 

in 

tH 

2 
UJ 



u 



in 

ui 3 



CC II 

3 HH 

CC 

3 
U. 



th <r 



w o 

3 3 
* 3 

H- r- 
U. 

UI / 
-I 

U. CC 
hh Ui 
♦♦ H- 

^ 2 

tH Ui 

^** • 

<»t H- 

3 3 

th Cl. 

H- 2 

Ui HH 

3 •♦ 

♦ ♦ « 

^ UJ 
hi 3 
-^ 2 

Ui *-t 

N r- 

HH 2 

3 3 

3 U 

h- 

~ 3 



h- 2 
Ui CC 
3 3 
3 i- 
Ui Ui 
CC -CC 
ii 

~i 3 
CC CO 
3 UJ 
U. CC 
♦♦ Cl. 
>C • 
II r- 
« 2 

tH HH 

w CC 
hC Cl. 
UJ •• 

UJ H- 

3 2 

H- HH 

Ui uC 



• 00 

• in in 
11 o UT 

C a H iH 

th as 2 
>- 3 UJ 

• 3 x 

3 3 r- 
♦. 3 ^v 

O •♦ TH 

O CJ ~ 

a. o o * 

0)rin» 
hh * ci 11 -) 
Ci 3 3 «r t- 
co 3 «i x 

3 3 U. Ui 
3 3 hh 2 



O 

© 

TH 

2 
Ui 

X 



11 

u. 



© 

CV 
Ci 

3 
3 
3 
3 



>- 



3 



<I 



Ui 
CC 

3 

X 

> 
2 



cc 

ii. 

♦ ♦ 

CJ 
© 

f*5 

as 
3 
3 

3 
3 



Ui 
3 
3 

- 
3 

f*5 
II 



♦ CJ 

HH 2 

_i Ui 

Ui X 

HH K 

u. ** 



c 



H- w 2 

3 « Ul 

cc as x 

HH A r— 

U. V *» 

/^ TH 

CC TH >-• 

3 - * 

ll. ^ as 

HH II 

* CJ 

cc >- >^ 

H- «r 

2 H- 
Ui X 
■ 3 



3 
U. 



2 CC CJ 

M U. v 

CC HH * 

ii. ♦♦ 3 

♦♦ ■ H- 

• ■ 3 

Ui il u. 

2 ~ 2 

3 Ci i-i 



2 3 th 

i 1 : •• •. 

2 ^ ^ 

3am 

CJ ~ 

♦ <* >- 

u U. ^ 

Ui ~ ¥t 

H- _J H- 

3 <E U. 

Ui © Ui 



CC !i 

t-i Ui 

3 CC Ci 

<I 3 3 

U. 3 

<x •• o 

h- ^ m 

<X «T O 

Ci ^ ■ CJ 



cc as 
Ui 11 

!— ^ 
2 TH 

Ui ~ 



• r- 

C0 3 

CC 3 

j— •♦ 

3 O 



K 3 >0 

2 ♦• • Ci 

HH A «•* 3 

cc th ^ cn 

Cl. ^ HH 3 

.. i— >^ 3 

CJ 3 * 2 

O ii. Nl Ui 

«U'»I 

Xl Ui • r- 

3 ui a 
3 «•■ ^ 



Ui 

-1 

HH 

u. 

3 



^ o 

3 3 
ui 3 
I- K 
I- 3 
<X 3 



3 
CC 

* UJ 

N as 

CV X 
Ci 3 
3 2 
h- 3 

3 Q 
<I 3 CC 
H- ♦• 3 
<X O 3 
C O UI 

© cc 



<-. M 



* <r 

X © 

A .■■■ 

>0 ^ 

as cj 
<r *» 

r- «» 

.«. 3 



c OS K H- 2 

<r 3 2 2 UI 

3 HH HH _J 

3 CC cc u. 

3 Ci. 0. hh 



©C-JTCVOth OOOOOOOOOO OO 

ththththoo o h n n <r ijt •<) o h n r*5«r 

ththththhohout mm mm mm ©00 00 

TH tH tH tH tH tH tH tH tH TH tH tH tH CJ CJ CJ CJ CJ 




MAILROOM PLUS 



c 




Make Your TRS 80 Work Like A Mini-IBM! 

Mailroom Plus was developed for the National Rifle Association membership mailings. It features 
sorting by last name or member number in addition to zip code. The program w ill sort 5(K) nanus 
in 30-40 minutes, kill duplicates, and close up the file. Mailroom Plus will also search all records 
for category, name, state, zip (or any other search code) and print these records on labels or in 
tabular form. It separates large files into smaller ones by state or zip or merges small files into one 
large one. Mailroom Plus is available on 32-48K disk for $75. 00 by first class mail. Order yours to- 
day postpaid. 



master charge 




THE PERIPHERAL PEOPLE ^P52 
PO Box 524, Mercer Island, WA 98040 

206-232-4505 
Master Charge and VISA cards welcomed 




CUDDLY SDFTWARE 

Unbreakable Systems/Support Software 
for any 1802 system. 



CSOS Series (Operating System) - aids development and 
modification of user programs with software tools, like 
Add/Delete Byte, which also expond/contract the remainder 
of the memory page. User Programs also interface via Std. 
Call/Ret. for video routines, I/O drivers, etc. 1861 alpha- 
numeric output via Screen Driver (10 lines, ave. 17 char/line, 
auto-scroll). User graphics also made easy. 

CSTP Series (Trace Program) - 1802 CPU in software! 
Displays internal status as it simulates user programs for 
debugging, improvement, or learning 1802 operation. A must 
for every programmer! Intervene to alter simulation dynami- 
cally, by changing parameters, overriding program branch 
decisions, etc. Memory protected! CSTP cannot be bombed 
by the worst test program or user key-in errors! Needs 2.5K 
RAM, plus user program area. 

COMING SOON: Assembler; Text Editor; Text Formatter; 
I/O for 1802 PILOT! 

TAILORED to your system! Write for details and low prices. 



CUDDLY SDFTWARE 

Dept. K38 

9B THQRNDALE TERRACE 
ROCHESTER, NEW YORK 14611 



,^C123 



42 Microcomputing February 1980 



DELTROIMIKS 



1 . EMM 4 2 00 A, 4K Static RAMs, Ceramic 
A local memory boards manufacturer 
closed. We bought the new memory 
boards and took these 4200A static 
RAMs out. They are tested and 90-day 
guaranteed 100% good. 

Prime tested 4200A 4K RAMs $5.50 ea., 
32/$ 160.00, 300 pieces or more $4.50 
ea. 

2. I6K Dynamic RAMs, prime ceramic, 
200 nS chips at unbelievable prices. 
Good for TRS-80, Apple II and Sorcerer. 
Set of 8 chips, guaranteed. 

Only $64.95 (limited qty) 

3. PowerSCR's(GEC50A) I 00 volt (a 1 10 
amps $6.95 ea. 

4. Squirrel Cage Fans (Howard)$7.00 ea. 

5. Power Diode 1 N I 202 A, 200 volt @ 1 2 
amp 4 for $ 1 .00 

6. LM 323 5 Volt 3 amps, voltage regu- 
lator 4.95 each or 10/45.00. 

7. Super Saver, Micro PD4 1 1 , Ceramic 4K 
x 1 dynamic RAMs 8 for $ 1 0.00 



, 



10*> 




DELTROIMIKS 

5151 Buford Highway ^D2s 
Atlanta, GA 30340 
(404-458-4690) 



APPLE II 

BAWLING SECRETARY 

At long lost a top notch bowling league 
secretory for the Apple II! Maintain team 
records and individual records. Calculates 
all of the following items: 

For individual — name, team#, handicap, 
running total pins, number of gomes 
bowled, overage, no. of 200'S, no. of 500 
series, no. of 600 + series, hi game 
(scratch), hi game (with handicap), hi series 
(scratch), hi series (with handicap). 

For team — teom#, team name, wins, 
losses, pet., team total pins (scratch), team 
ovg., team hi game, team hi series. 

All simply by entering 3 weekly scores per 
bowler! Also maintains subs records and 
allows for blind scores. Provides for weekly 
reporting with printer option. (Disk and 46K 
required) $24.95 

Full line of Progrommo and Muse software 
available, printers and accessories at 
tremendous discount. To introduce you to 
Mighty Dyte take 15% off any order. 



Special — pkg of 10 3-ring diskette 
holders 6.25 



i^gte 




MIGHTY BYTE COMPUTER INC 
P.O. Box 213 
HO-HO-KUS, NEW JERSEY 07423 
(201)4458256 ^ M 131 

VISA AND MASTERCHARGE ACCEPTED. 



TRS-80 SOFTWARE 



MONITOR #3 $39.95 

Disassembler; ASCII and hex displays, memory move, 
search, verify, and modify; read and write object tapes; 
hex arithmetic; ob|t'( t code relocater; unload programs 
from TRSDOS memory areas to disk; symbolic tape 

MONITOR #4 $49.95 

Adds: save and read disk files; direct input and output of 
disk sectors, send, receive or talk to another computer 
via the RS-232-C Interface; symbolic disassembly on disk 

PACK/UNPACK $24.95 

Increase disk file capacity by 33% with NO NFW HARD- 
WARE Applies only to string data Ideal for mailing lists, 
telephone files, etc 

HOME BUDGET $49.95 

Keeps track of your checkbook, income, and monthly 
bills Computes monthly and year-to-date summaries 
(Requires 32K, disk ) 

MAILING LIST $69.95 

Over 1000 names on a single diskette! Add, change, 
delete, find name, alphabetic or zip sort, print labels or 
master list. (Requires 32K, disk ) 



HOWE SOFTWARE 

14 Lexington Road " H47 
New City, NY 10956 



HOW TO START YOUR 
OWN SYSTEMS HOUSE 

A practical guide for the small EDP entre- 
preneur. 213-page manual covers all aspects of 
starting and successfully operating a Small 
Business Computer company. 5th revised edi- 
tion June 1979. From the contents: 

• The Systems House Industry • Hardware, 
Software or Both? • Market Selection & 
Evaluation* Industry Application Opportunities 

• Equipment Selection • Becoming a Distributor 

• Product Pricing • Getting Your Advertising 
Dollars Worth • The Selling Cycle • Financing 
For The Customer* Questions You Will Have To 
Answer Before The Customer Buys • Solving 
The Service Problem • Protecting Your Product 

• How To Write A Good Business Plan • Raising 
Capital • 

Send $36.00 (check, VISA or Mastercharge) to: 

Essex Publishing Co., Dept 1 
285 Bloomfield Avenue 
Caldwell, N.J. 07006 ^E56 

Credit card orders: Send card #, date exp. Add 
$2.00 for rush, air mail shipping. N.J. residents 
add 5% sales tax. For faster shipment on credit 
card orders, phone (201) 783-6940. 




Adventure 



nternational J 




"Highest rated games are the Adventure games". 

Robert Purser Edition 7 CCR 

Declared a true "Classic". 

Computer Cassettes Review, Fall '79 

"Adams' Adventure is exquisite. It is a true 
tour-de-force . . ." 

Recreational Computing Sep/Oct '79 

Out of 50 programs reviewed Adventure was 
rated No. 1! "Highly Recommended". 

80 Software Critique Issue No. 1 

"I highly recommend these programs". 

80- US Journal, Sept /Oct '79 

Adventures by Scott Adams are available from 
our many fine Dealers for TRS-80, Pet, Sorcerer 
and by Christmas, the Apple II! 

Write for free flyer Each Adventure $14.95 

Adventure International ^"A102 

Box 3435 

Longwood, Florida 32750 

COD/Visa/Mastercharge - Call (305) 862 6917 




SUPER "SELECTRIC" ONE 

' Selectric Line Printer Receive Only (no kbd). ASCII- "Centronics Parallel Input. 
BIDIRECTIONAL PRINT Line Storage Butter. Page Programmable. 8080A CPU. 
Dual Pitch' (10 & 12 chars /inch). 15" Carriage Interfaces with ALL Mini & Micro 
Computers Packed with extras" OEM Modified SELECTRIC Worth a fortune 1 
Our SELECTRIC ONE comes with complete data •SSO.OO 

SUPER "SELECTRIC" ONE-A 

Same as the "Selectric One but also has X-Y Plotter capability. 1/60 of an inch in- 
crements. BiOirectional Carrier & Platen. Plotting Applications 15" wide by 
approx 50 pages long Nothing else like it in the world '1 300.00 

CENTRONICS 102A 

BiDirectional Line Printer featuring 9x7 Dot Matrix. Auto Shutoff . 330 characters 
per second. 132 columns. Standard Centronics Parallel Input. TRS 80 COM 
PATIBLE Dual Print Heads. 125 Lines/Minute & much more 
Tested and Functional '89 5.00 

I/O "SELECTRIC" 

KSR-type with 15" Carriage. IBM Heavy Duty Model 7X5. complete I/O Encoding & 
Decoding (Solenoids & Microswitches) Works as a typewriter (shift and index 
solenoids need *26 VDC) HI-QUALITY PRINT Removed from WORD PRO- 
CESSORS, takes standard IBM type elements, upper & lower housings included. 
110 VAC operation Good condition, includes I/O data & info Only •395.00 

RECEIVE-ONLY "SELECTRIC" 

Bargain-priced IBM Model 1980 R O "Selectric" Printers Upper case. 11" Car- 
riage. PINFEED PLATEN (takes teletype paper) Standard Tilt & Rotate Encoding- 
Standard Solenoid Configuration NO Keyboard (Receive-Only) Takes most 
SELECTRIC type elements Used, as-is. Irom Airline Reservation Systems Ideal 

tor use with TRS-80 level 1 in g.ou •«. 

Buy 2 and SAVE!' 2/ '21 9.95 

"TWIX" SELECTRIC 

KSR Machine with "telex-type" keyboard, telephone line compatible. 1 1 " Carriage. 
Pinfeed Platen IBM Model 731 Heavy-Outy Printer Also includes I/O 
"Black Box" with RS-232 Circuitry and Internal MODEM Ready to connect to the 
phone line (includes 4-prong phone plug I/O) As used with TELEX' or TWIX to 
transmit & receive typed messages over phone wires As-is. removed from Airline 
Reservation Systems Made by ICOT SPECIAL PRICE Only MQS.OO 

PRINTER SOUND HOOD 

Built by Gates, the Sound People 24" wide. 21" long and 12" high Fits over Sel- 
ectric "IN-THE-DESK type printers like 2741. MT ST. our I/O SELECTRICSand 
others Ouiets printer operation by as much as 30 dB Features hinged Plexiglass 
front cover and keyboard door, foam lined, holes tor platen knobs Only slightly 
used Orig cost over $200 00 Now Only *26.SO ••. 



THE FINE PRINT: 

» In addition to Printer cost, there s a $ 1 7 50 charge ($30 00 lor the Centronics) for the stup- 
ing crate ( the P. O Selectric Model 1980 and sound hoods require no crates ) We ship all 
printers by TRUCK. FOB our warehouse, except Sound Hood & Model 1980 which are 
shipped via UPS. whenever possible 

» Payment must be received and collected betore we can ship When your Printer arrives, 
you must pay tor the delivery "C O D 

• Unless otherwise specified, all Printers are sold on an as-is . tirst come tirst serve 

basis thouqh we take great care to insure that each machine is shipped clean, 
whole and usable 

• Mastercharge & or VISA accepted "Telephone orders welcome 1 
'IBM Trademark 




(603)382-5179 

Write or Call for our Special PRINTER FLYER 



^C160 



N 
T 
E 

R 
S 



*& 



CFR 

Associates, Inc. 

Newton, N.H. 03858 



a MILESTONE 
PRINTER OFFER!!! 



* s DIABLO "Hytype" Daisy Wheel 
KSR TERMINALS 



P 

R 

I 

N 

T 

E 

R 

S 




N 
T 
E 

R 
S 



Featuring 

• ASCII RS-232C I/O 
•110,115 & 300 Baud 
•10, 15, & 30 CPS 

• Dual 10 & 12 Pitch 

• Plotter Capability 

• Many more exciting 
features 

These used, cleaned and refurbished Daisy Wheel 
Terminals feature the FAMED DIABLO "HYTYPE" 
Daisy Wheel Printer with its multitude of capabili- 
ties. Includes 1/60" horiz. & 1/48" vertical spacing 
in the "PLOT" mode 

Limited Offer Special Price 

Only $ 1750.00 

WHILE THEY LAST!!! 

We Also Offer Many 

Types of "SELECTRIC "* 

Printers: ASR. RO and More. 

For Example: 

Receive only. BCD Coded "Selectric with Pinfeed Platen 
and Data As-is. used Model 1980 

Only M 09.00 each!! 



'Trademark of International Business Machine-. 

Write or Call for our Special 
PRINTER FLYER 

(603)382-5179 *^C160 

• Mastercharge and VISA accepted 

• Phone Orders Are Welcome 

• Prices may not include shipping & handling 

PRINTERS PRINTERS ... 



iS Reader Service index— page 241 



Microcomputing February 1980 43 





































■ 

u o 


o 
















•i o 


o 
















ac ch 


Ch 
















H- o 


o 




o 




o o 








Z 3 


X 




© 




M if) 








U CO 


CO 




P0 




•h 11 








o 


o 




*■ 




CN PO 








_l o 


o 




o 




O O 








-1 z 


z 




X 




H- O H- 








<I o u 


u 




CO 




O 1-1 O 








« X 


I 




o 




CD t-i O 








U O H- 


H- 




o 




♦♦ f) •• 








o *■ - 


»T»X 




z 




~ X ~ 








o z po 


PO 




u 




CN U CN 








U U T»4 


1-1 




X 




>-. « X -^ 








X ~ 


■^ 




H- 




* o h- *» 




o o 




_l r- * 


• 




^* 




o _l ~ o 




»H Ok 




_J ~ o 


o o 




r^ 




-H Ld ~ .». 




i^ 1- P0 




l-l ^11 


•<r ti 




■k 




•^ m t\i «-» 




M Z P0 




3 CN ~ 


1-1 *>. 




^~ 




^^ u ^^ ^ 




Z i-i o 




^ 4J- 


* ■«■ 




». 




•^ * *■» 




ui a. *- 




X 4rV • 


o 




• 




CN «* U, CM 




x Eg 




U Ifc "» 


H- ^ 




u 




■v C'l © ^^ ^ 




K ♦. CD 




I-I ■ -^ c 


O « 




■^ 




♦ ro _j 4ft 




■ <*N *• 




x <r _i ~ 


CD v 




♦ 




O • CN <L CD 




>- n ♦* 




3 H- « «. 


* 




o 




~ H- PO Z> ~ 




■ w U 




<I 2> X 


** X 




l-l 




z z o z 




II • + 




Z O A. v 


o ^ 




X 




uj — H *» u 




4* ■ CD ~ 




o ■ ~ * 


UT 4» 




1! 




-i ac o <r _i 




<r o <i «» ~ 




m • H- « H- 


N H- 








i a. cd ~ i 




u. pn i- • * 




h- r <i ^ u. 


U 




*~s. 




^ •• ** ^- *"K 




i-i CN « U 




U « X H- U 


^> UJ 




CN 




^ ■ <y *y ^v 




♦♦ n q « ^ 




z ac h- z _i 


m -i 




■k 




HI QC II HI <L 




O O I- z 




X O i-4 U. 


iO U 




^* 




^ U 1-1 uC <~ 




th K (- « Ui 
O O »h Q _i 




u. c z ac ii 


r-j H 




n 




♦» o -i o ♦ 






• uC U O ♦» 


N^ •• 




^\ 




M «■» X Z ii N ~ 




ill CD ui 1 




H- U_ X i-l « 


4(V •> 




r-i 




^^ ""n ^3 ^j "*+ ^± 




X ♦♦ Ul Q — 




Z 3 ~ 


ac ~ 




"^ 




_j -» 2 M ~_j~ 




en -> _i ^ 




tM CO ^» © -^ 


« ^ 




♦jt 




<t cn ch h- « <z cn 




O II ^ O O <I 




ac i-i / « © r-i 


x r-J 




eg 




^ *- — Ch " V "> N^ 




CD i-i C4 O >0 ■ >-• 




U. X •—•!-! -w 


u ~ 




^ 




-* ct o >- o h- -4ft 




-) P0 o I- * 




♦• H- uC H- ^- * 


-^ * 




* 




~ O O X ■ UO Z •-» O 




• Z«CN iiZ IMO 




■ u z o o 


4» O 




o 




r i ~ u en ii o o i-i cn ~ 




XUK-P0 «l-i >^Ch 




O U. H- i-4 H- ^ 


H- ^ 




i— 1 




PO Z UJ O 4ft PO th u PO Z 




UXZZ XC£ -ICh 




z o z u. o z 


<t z 




r 


y^. 


>^UI iC O 4 Z h h v u 




CCH-i-iUI CDu. <I Ji 




— U r- 1 CD U 


u u 




u. 


■*i 


*_j •• u. uj n « »_j 




<z • cc x o** >x 




O Z .... _j 


a. _i 




i— i 


•»»• 


O uC I *» • hi X Z <X uC ! 




Ui >-U-K- CD — ^ •- Uj 




O O O <* • 1 


U 1 




z 


** 


Ch ^^ i-i O 2 •• h Ui *► ^ *-* 




tf) • *• ^ **^^ *-k^nQ 




CJ H Uj !•. ■ *-•. 


ac ~ 




u 


o 


O X ~ 111 O O • I • x~ 




II • ^> "> ~ O f J ^ CD O 




H- O "II *« 


n ** 


© 


X 


in 


cn ui-i ■ om jv>-i- > u « 




CC ¥V 2 <T « C-i 4» f vl PO 41» ♦♦ CO 




o ac ac >- 4»» <r 


4* « 


CD 


H- 


— ] 


2: v^o h- po i— <h ■ » o >* %*. 




Ul <COC£ ^^->-M w(j" © 




z o u o u «* 


o »— 


i-i 


.♦■s 


i 


UJ ¥t * r. Z Z U O II >- 4ft 4f> 




X U. i-i O H-4* — P0 4*^1- P0 




« U.S0 Z ¥. 


z ** 


V 


CN 


5 


OX H- N © i-i U _1 X 4ft ■ X H- N 




i- i_i(_^ ZCD-O© CCZi-i Z 




O X U Ni 


U Ni 


z 


■>. 


u 


ok « ~ cn ac x u co <x ii u <x ~ 


© 


O ♦♦ Ui ■ H v H- <<S <I Ul» Ul 




x ac o u x ~ 


X ^ 


1 > I 


• 


Ui T-I 


o ro u _j z a. i-aoii.* 2 u _i 


O 


Z NC JI« II Z Ui O P0 X-JUi X 




U U iL t- _i 


H- _i 


X 


M 


ac Ui 


i ^ U. ^ U •♦ © *-*CDi-H^^^aL^[ 


CN 


•a o s> ui u u. <xuiaapo ui t- 




ac x u <t ^ <r 


*» « 


H- 


N^" 


t- CO 


X II Ul ©■ X H- ih rt SC ♦• •• U. UJ CI UJ 5 


r*J 


■ OkCP- fi OC h •• JO m Z >^ ^ o • 


^N 


«»-» U T-I 3- 


t-. :> 


iH 


«♦ 


f- o 


co _i ac • h- Zit ^o-oi-icn^a:*- 


Z 


t-ffiili «•♦ «IUOUI * ^ h- >- 


T-i 


u c ■ en ^ 


^ • 


II 


^B 


X _i 


Out » ~ • i-iro u u > Ch •♦ i* ii ~ 


Ui 


ZXXuCUi'- «•. ^. ■ i-i x H-^ • 


■w 


ffiZh 4*1 ~ 


«» ** 


uo 


u 


a. u 


CDOO ~ CN Z uC - IMuiOOOCD^CN 


X 


t-i COCO OC0« "<IK>0OI- «^C0 II 


• 


<r z o o N 


o a 


<x 


UJ 


• • ♦» 


♦» th uo r-j w • a. o i-i a h- o ch t- h- nn 


K 


SC OO U. ^ K^ZftCDPO UI4J»C5 4*« 


o 


U M H- II P0 


11 P0 


u 


-I 


• n 


• i-t'fl- ^ ^ ii ••i/3 co u z x th x ~ >^ 


• 


u. OO OH- H>H3Mt u.N_i <I — 


1-1 


m z ac "» •• 


*^ >-^ 


H-l 


II 


— it 


• im ii ♦ * 4* ■ o a a u to a x u. * * 


U 


«... UiH-Z u 1 £C (0 P) II Ui-iii UUI 


o 


HmO. X CJ 4(t 


r-i ♦ 


.. 




^j ^^ 


iiz_i o ac « >- po <rooxcozoac 


II 


■ •■ a ►>■ Uii-iu.OZ_J ac i •— • ii_l 


CJC 


«... co ^ ac 


^ ac 


© 


.*■* 


_i H 


~ u ac z <x u. o a it ui- tD to 1-41-4 z<e 


«^V 


>- Z>- OZII +♦. OUICC II « U. ♦♦ii 


o 


x h- • hi ♦ <r 


4* <X 


>c 


IN 


rl ^ 


UO X O Ul X i-i 1- 0«U«»0 3»«UX 


CN 


wt OiJC UOCC O-^-^ZXO *»_> OU. 


u 


c Z O 3 o X 


O X 


© 


•K 


k. to 


— H- <! X U ♦♦ XO >0 H- U ■ O - XU 


^0 


h- i-il- X»^ K-^CUil-liT U*-Ui CK 


u 


H- hi H- U. U 


u u 


TH 


*"». 


ac 


4ft ^ <• r_ -~ o U CD V 2 a # ♦• X U H- ~ 


4» 


k-z ^i-« ri^x^^- z-^ii; ckz 


K 


X ii X HI ~ 


l-l >-• 


o 


IN 


Z H. 


tD M II ^ + &• a; <X « hi ac • O OC ~ ♦* 


CD 


O UU iiU«k »— ■ — ^ •¥»• K— P0 11 UCNO 3ii-i 


i-i 


« a. h- o ♦♦ * 


4»l 


x 


>^ 


hi H- 


•♦v_i >^ h- (h « Z UltOuI >-^ ^>— 


U. 


h-_i in * z«»n~~_j xnx X 


H- 


.. O >-•»-* i- 


T> t— 


CO 


• 


« 


• « U. — C A UJO MiUiU u. o <i <r 


M 


Uit- " 1- 4(» ^O'k^si^cc 1— >-- toz 


X * 


Z ■ Z CN © <t 


N O <I 


o 


o 


Z ♦• 


■ fl&i-i <--ui X ■»-> Cfi»» ^'Z O ii u £ 111 v UJ 


• • 


u. qo K-*Z o 3~»<r«o --^*>- oo 


u. o 


C Z Ci « o» Ui 


n^ P0 Ui 


e 


■^ 


O ~ 


Ii A ♦♦ 4*0. CTJ i-i ^ «UJUJCJ« JGh«jL 


© 


z u z «■ « +■ z ~ a >o ^ a: z o m 


♦ ♦ -H 


O CO j#o i 


# H 1 


.. 


4ft 


H^ 1- 


-^ v ** nuj o >■" z« «».ixuuj uiuroNiui 


>0 


« flCOt ►-• 3 — XUX* V # « « « ♦♦ H- 


o — 


co hi i-i uj o <r u 


CD ^- Ui 


i-i -^ 


P- 


H- -^ 


V y. ^ ^ iC CD * C-" "1— KOCCn h-i o^oc 


© 


3 OtiC i3C- Ch O-II-N^II ~X" • U 


iH ^~ 


H H HI » O OC 


• OC 


11 Ti 


U. 


U 4f> 


>^^i-i _i+"CD UK X-~> UII-J + 


i-( 


U.O U.I-X ^ >-*-0-~!-i_i »J»UH- H-_l 


CO ^ 


U H- U ■ H- -H 


■ H- + 


u"3 >^ 


U 


_i CD 


4* . » «^ ■ i-i Z CJO^CfJGCCi uo«^ 


■ 


X U »*ZO * ^Z_J»-U N>--Z HUI 


o * 


CO _i hi H- O ^ 


1- O -» 


<r * 




UJ TH 


cd^^ ^r-J ♦ ci xi-i Lt-^i-iui_i t-cccD^rj 


X 


O Zi h- i-i >- Ch i-ji-iu^^i-i •— • ♦ i-i OO 


X o 


hi U X r- hi CD Ci 


hi cd r-j 


z o 


tla 


o o 


.. M ► ••../ ~ X. uC Z O II « 4» I X Ul U « ♦♦ V ^ 


en 


>- uu zoc ii _i-^_ir>«»« i t— ue u 


CO i! 


X O m U X ♦♦ ^ 


r .. ^ 


Ui ~i © 


i— 1 


ac 


• ~~ ^4* ♦ C 0>« Ui 06 ►— >— •— > UIUIO^* 


o 


OX i-i u. Z ""* UJ ♦ • A *" ** ^ ^ u. Cu 


O ~ 


H- _i IlhO* 


H C» 


I o © 


z 


ac o 


■ *rj ^cd o u >-!•♦. cn ii ou- _jcno — cd 


CD 


O OH- uC»»0 i-iOi-iO>-^4*'^ 2>U»» OO 


o »* o 


• uC _i _i © O 


JOQ 


h- ac po 


Uj 


o u 


ii >- >- o cj ii ui »- i- <i ^ en z uj (Dk ra ii 


• • 


o u a.-1-i ^cju^z*j»>^o v a. o h- u. 


>- CN 


h- o ac u ch ii 


Ch ii 


«-. o <r 


X 


u. u 


^-'♦^ v ^ to oc ujZ'*- ct^i-i«« cnociii->'«^ 


*-*. 


■ en .♦ oh- t»v 4»i-iu~»-cn ^um 


~ * *■ 


z u. u tn a: a ^ 


ac o ~ 


P0 u * 


i— 


ac 


M #00 *rj hi i-i _li-4» 0»" • OD«N 


t4 


. h-i-i "ZO. oPOH-H-fie^^^r*) «uco coo 


I-I O fi 


hi 3 • U X CN 


U X CN 


t-i uj — ■ 


/^ 


o — 


— #— — C-j CD-' X I— UIOCUI U.^K >>- KU.CfiO-' 


^0 


o zx «.i-io .. ouxfl-ZH-^n u + h ou 


H- ♦• O 


ac CO O r- 3 CO ~ 


u. CO ^ 


~ ac co 


IN 


Ui H- 1 


# u. » — ^ * — x ate i-iZucor x o^4» 


• 


Z i-h H- OO ^H-UO«. UU.4»0 ~ *» O. iiC o 


■w y\ H- 


u-H-_iNX004fi 


a. o 4* 


** l-l o 


Bi 


O X 


CUui- ZCD 0. ♦♦O OC-'i-Hl-l- 0-«CDZCD 


CD 


X <T H-OfiC t-iO_|i-i^_IUUH- ZUX OO 


*» »i O 


••hi Ch 0. _l o o 


X CD O 


O r- CD 


4*V 


o a. 


zjmo uz tno» ycr-jx ui^oc zt-zuiz 


~i 


o a.co uo i QuJiciLj^o unco uu 


CC 1 o 


tN x ac ch z -z. -z. 


z z 


11 u z 


u 


u ♦• 


uaxcD -iuj nrjo oo iucdo-oo h «uj jui 


Q 


U. Zi-i H- U.O«"tDII«MQ»(D J WO U 


*— «-* • * 


©hiOOhiuCUU 


ac ui u 


^ CD U 


>^ 


© 


xx^.. a x «o->-i un z x ^ ♦♦ ►— i— «*cxax 


Lt 


u« zz o^hi *»«2Q» ouo ce co 


CO ~ ^ 


ZO J x ♦. o X X 


o X X 


<r ♦• x 


4r> 


CO T-I 


¥- <t U * ZK 1-rjCDO iIiU X4*l- 1- hZI- 


O 


H- XH- «O0!inn+l-UX««Ht zz»^ o 


II O i I 


OX OCtO HU. H H 


U. H- H- 


► -^ H- 


H- 


O CD 


«^cno «^hzoaisu3ij: zh-zi-i- zq~«~ 


u 


O H-Z 3>-iUP0^i-4X»*«U^XO « Uin Ulii 


^. 00 ** i-i 


hiXOUOZ ~ ~ 


^^ .^ 


»-n i-i 4ft 


X 


ac o 


nr-j«>o ->^.i-i-i>-xoQcn« u,i-hzz »-i_jm^'- 


Ul 


Z ~i-i H-O«-4*H-Ci.-»««»-r-J>'>0 ^XO flCO 


no*i- 


H-COUu-OHi<ErO~ 


« P0 ^> 


« v^ X 


o 


O X 


i- — II -ti HMXiCOtOI-ODUl i=iUIC£«« iCUHfid 


B 


Ch OC XUXOOIIZ»-i •^UO POH-PO ou 


~ H- O 11 


uOHiu.».acf-T-i« 


1- T- <C 


v Ui II 


•— ! 


U CO 


^#»_JX ^•^Ulu.CDCOUCDCO ae_Ju.33 ii.KH~<^^ 


ih 


> ^u. O JDOOvrtH I liiCidtOD ^~0 XU 


♦J* O — Ti 


. ' r ' | : ■ u-^s^s^- 


^ ^rf" ^ 


4*1 NI V 


K 


u o 


* » •• Cfi * 4» Z ♦• ♦• CD CD ♦♦ O U. ♦• ♦• U 4* 4* 4* 


i- 


a: *♦♦ >-uz<rzH-».~_iH-««co *»^x cc 


• U. O Z H- 


U ♦♦ HI . .. Q 4r> 4* 


a # « 


Xha 


il 


ac cd 


A A *» O ffl N •• O N •• •• i t h O U i-i O X X © 1X1 * Ni 


Ui 


h- a o o n ui •• o « h « a ii o o « co >- • 


o •♦ *• u ** 


O^-UUO© ON 


« Psi 


*» CO CN 




■ .. 


ii v ^ cd ii v « n o ♦ h o n u n uj •• in o o 1-1 oc 11 11 ~ 


CD 


z ii in o (j: i. j a m v h q v j o ii ~ o ~ z n 


• * i-i _i -■ 


r-i u x u t-i ac n ~ 


■ ac ii ^ 


* o ~ 


*>. 


ii 4ft 


« ^ rg z « j n o « I ui ckuio oc^o>->- oui~~_i 


• •> 


U ^O OUUO»-i-iO>-H- -» ♦♦ Z ^4*OOi-i^'^ 


II ^. X Ui ► i- 


aco-o-H-H-ou^-j 


■ u ~ -1 


H- H- 4f* 


Ci 


~ X 


^-iH^ui rtCvHBiiioi-ajn »i-ii-i ^ih-^-^i^ 


^N 


• 1-I1H • >HO>AVrl •• 3rl«UJ rt N •• !► v ■ m 


■^ ii"5 ii CO *■* >* 


OOOC0 C0i-!H-^-<I 


11 h- ^- <x 


u. >o o 


•h 


if) 11 


» ■• * X ••^4*iBX^-Oi-iXUZ l-N^fltiOO «Zk»^ 


«4 


H- »-0 H-OZCN»H*»0~H-U..»X ^^4*n*H-^- 


in v a o h • 


t-iux u.uoz *-r> 


-^ Z - "> 


U II o 


^v 


^r» ^\ 


-^ ^ CD 1- ^ V ODlflOOJOtfltflUI x «» x a a © X Ul ~ ^ V 


^*^ 


ZO-^X ZXUPO-^OXi-iZZ^UH- ^_ju.rooz*» 


•^ ♦ CD J ^ o 


© COZhiXXU^ V 


N u -^ v 


JTl 


r-j 


4f» CD 


mh ^ N h^ + (/)Ov(juO" X 0.CDC0" ■ CDC0" ««~ 


Ui 


hCOhS) t-iU« » ♦ i-i 0) v. h «^-Px ^^-HZi-ii-iO 


* O ^ U * Ti 


rouou« cco» <x^ 


^^ ■ « .— . 


u. ac <z 


%■»• 


CD ~ 


^•^-'Zm v « ^ O (D # •• CDf-K ZCOI— t— OOI— <^^^ 


N 


aeo^o cKoeH-oo~jo*iiciJC^'ZUT ^^♦uiaczouT^^^o - ) 


OOOUH-UOH-^ ~ 


♦ H- -^ -^ 


hO» 


* 


Z 4ft 


# «»UI A 1* CN "• CD •♦ U. 1*5 •• ♦♦ X CN Ma022h02«#M 


KH 


a. h- «» a a. x rs ~ o o o a. u * u a « v u x o a. u 


Z O U. P0 •— t-i 


h- o •• 3 z ac O X 4* CN O X 4» CN 


•♦ u. u 


o 


u u. 


x >- _j _j >. w .. a .. ii i o t a .. a: .• h h o •• m x >■ v 


CI) 


.. o o ♦♦ ♦•'-^a.n«»Lt;»»>^**H->_i_i >-^-hh-ck«»x 


uiii:«ii#itouoHH ttu-x^ 


•• a. x ~ 


O •♦ II 


>^ 


X ♦♦ 


~~ooc v » * » h • « u o z « o r-j o n oc oc ts n it ^ « * 


•» o 


CN O ~ W O CN P0 Z P0 H- O CN » CJ Z ~ O CC ^ » * ■ CN H- 


X O ■ -^ H- O 


cd o ui cc to r-j z ^ ♦ 


~- z ~ *♦ ^ 


II N . ■. 


O 4f» © 


H- • 


**»-o * o o o « ■ rtCcoMii:iHouoa.a.«oa.**o 


CN 1- 


O « • O N O i-iOXUOH-OU*»KO t)»UU>UOiH 


1- U " t* X U 


♦. O © » u- hi O hi 4ft O CN hi 4» O CN 


T-I O ^ 


OhO 


1-4 ■ 


■— i— th od k^ h r)4(» H ~<xii»»o©?*)Ujr*)»«»*^Hr*)'"f-f--' 


>• >o 


r) n h n n m ■ •• i- o ui « u n ■ khoo h^ ii ■ upoii 


O U II >■' o u 


thH-tH* .*■ P0 •• H* ^ 


■»— ' •• ^v ^ >»• 


h- >c n 


IN X CN 


M II 


uu ii ^-i<:u.z^*o^cnuia4>-i-ir*)aiCic:aii-i-ua»-u.u.z 


4» ii -)auiu.iiir5a5!-i-OMuc«uiaf-u. n v ^ u_ z ^ ii oca . . 


II u£ ^ CO i-i Ct 


UXOH-H-H-OH-U.Z 


« H U. Z * 


♦* A "^ 


V O V 


-} A ^ 


ui ui jc v t-uiuiiHX'-iiHaicoxzvoX'-ixzzcnxzuJuu 


tDTI-D(0UiDOD22OiC^DJ3DUliVI-UIUlH»rt3n 


i-i ih i-i uC dC th 


CO<EXZZZXZUU 


CD Z U U O 


© X 4»V 


3 HI Q 


P- TH TH 


_/_iac_jx_i_j^cn»-^»- ctji-««i— (OhtOMMOtOMjjj 


l(X 


tOOJtOHtDMM« II H-C0 II tnu.JKJXJJ^«H(OH 


H- »- ^ H- II H- 


O C0hmm(0hjj 


II t— • i 1 Ii 


II CO o 


h- ac H- 


X r- ^ 


u.UOIi.UIUU»OD»l- OiUOCUOLCitJOuCLUU. 


*0lil0JU0O0ii:CC2»DO#02U0UU!UU#UDDU 


U. X ♦ H- K» X 


_i oacacacoacuu 


• LlU.U.# 


hlOU. 


3 u. o 


U U 4ft I 


hhUh2hh13QO.O< (3u.H(3OOO0.a.UOa.HHH 


UUZOUHO(D(DiLi.OOILOUIOHHUH2MMOHii.2M 


i-i u. CD « CD ii. 


U Cu.ilu.Ou.HH 


Uu.HHfl 


«Oh 


3 hi O 


Z hi CD 


©00©©©00©0©0©©©©©©0©©©©©©©f© 


0©0000©©©©©©©©©0©©©©0©00©©000©0©00© 


©0©©©0©©©©©©00© 


© o o 


S © © 


o o o 


in<N(Do>OHnnvin>ooHMM*bi'OMDO'OHfji , iMv 


in<MB>OHr4M»m'OM)3&>OHnM*in<MDO»o»HNi<) 


* I»T *0 N O Ch 


O O h M l<) <• ill -0 N CD 


Ch © th CN P0 


*■ uo >0 


N CD Ch 


© TH tN 


©000©i-ii-i'-i'-i»-i'-^'-i©©©©©©©©©©' ,H,H ' H ' H '^' rt 


H H rl 


ii th CN C-4 CN CN CN CN CN CN CN CN P0 P0 P0 P0 PO 1*) P0 P0 P0 P0 ^- ^- *T * 


* 4T ^ «T ^ ^ - 


UTOOOOOOO©© 


O rt rt rtrl 


TH IH l-l 


HHpI 


CN CN CN 


T4 CN CN CN CN CN CN CN CN CN CN CN r*l f*> r*l P0 f*) M t*> !*) F) PJ M f«) !*>!*) P) P) 


P0 !*) f) 


nponnponnpnnpopopoponponpnpopopopnpoponmr) 


fi po n po po po 


ro^-^-^-^-^-^-^-^- ^- 


^- ^- ^- ^- ▼ 


4f ^ ^ > 


T ^- ^ > 


^- *• T 


f TRS-80 NEEDS ] 


1 


every four years. . . 


















1 FILLED 






T 


RS-80 














™ TRS 80 is a trademark of Radio Shack, a division of Tandy Corp] 




. . .the world's best athletes gather to com- 




1 


|1U U w 














•Disk Drives @ PS/case 




pete for the coveted gold medal. This year 




















Shugart 35 or MPI 40 track @ $319 &. Micropolis 77 




you can more easily follow this competition 






















track® $550 4-drive cable® $31 5 (bx of 10) disks 




with Med System's Athletic Index. 






















@ $26.00 in hrd. case $28.50 




This package will allow you to search 






















•Printers — Harris Selectric typewriter (refurbished) k 
cables & TRS232 @ $790— new Centronics— 779 




events based on country, sport, score, time, 






















tractor @ $940 & CENT 730 @ $790— cable for $3 1 




year, or the name of an athlete, or any com- 






















•Professional business software — mail list & Library 




bination of these. Year searches can be given 






















100 @ $65 — letter secretary or job cost @ $2 JO 




any range. All the old records, plus trivia and 




















ea. — interact inventory control with B.O.M.,® $249- 
Osborne interact A/R. A/P. a. G/L @ $335— P/R @ 




brief descriptions, are at your fingertips. 




















$115 




The Athletic Index is now being sent 




NEED 


HELP WITH TRS-80 


MACHINE 


LANG 


UAGE 


? 






• Power drops ^ outages? System boot out? Lose data? 




with the complete statistics for all the winter 






SUPERMAP TO THE RESCUE 


! 










— Get Mayday UPS (uninterruptible power supply) 
from $185 — write 




competitions through the XXI Olympiad in 




SUPERMAP contains hundreds and 


hundi 


•eds 


Of 










1976 at no extra charge. The summer statis- 




comments and explanat: 


.oris arra 


nged lr 


) a long 










tics will be available early in 1980. 




detailed memory map. Doc 
tape. LEVEL ] [ commands 


:uments keyboard 
and functions. £ 


video, 

iUPERMAP 








•MA. residents, add 5% tax** FOB. Tewksbury— 








even 


reveals the mysteri 


Lous reserved RAf 


( areas. 






price includes freight if cont. USA. M/C. VISA, or 




TRS-80 LI I 16K cassette $9.95 




An essential tool for the expert 
guide for the beginner. 


and a \ 


raluable 






check. 




N.C. residents please add 4% tax. 




NEVER BE LOST AGAIN WITH SUPERMAF 


'. . .onl] 


r 118. 95 








OMNITEK SYSTEMS 




Med Systems Software 






FULLER S0J 
630 E. SP! 
GRAND PRA. 


iTWARE 
4.INGDALF 












•^018 




P.O. Box 2674, Chapel Hill, N.C. 27514 






[RIE, TEXAS 7505 


L V 


F20 






24 Marcia Jean Dr., Dept. M 


ii 


t'MUt 




Note Texas residents add 9SC lor sales tax 










1 Tewksbury MA 01876 M 
^^^■■^MMMTel. 617 851-3156 bhih^^ 

$ 44 Microcomputing February 1980 


U_ 1 


, 





































3 

cn 

a 

CD 



2 
O 



Ui 

_i 
UJ 

5 

K 

5 
u. 



o o 

(J *r 



2 O 

a. o 

♦• li 

t- n 

2 <r 

M 2 

a: uj 

a. x 



■z I h- 



Ui 



UJ 





* <r 


^\ 














Cl ll. 


T-* 














*• i — i 


»^ 














^- ♦• 


* 












o 


2 C 


CD 












IV 


i-i tv 


-t- 












1 -« 


Ct o 


.*"S 












^ 


a. x 


O 












Q 


** 12 


*W 












^ 


- to 


# 












c 


j—i ri 


■ 












H 


H- cn 


ii 












*• 


■ •>•> 


y"v 












«». 


^. ■ 


-— ; 












^ B 


ii": CD 


N^ 












1-1 


~ 2 


• 












»■' Q 


Z. M 


CD 












# u: 


•C Q 


*>* 












- c 


r— O 


/•«. 












ii (J 


1- U 


*-t 












* UJ 


2 


1 












a j. 


M Oc 


^. 












2 • 


QE O 


^^ 












l^i «» 


LL. Li. 


•J-* 












X ^ 


♦ • 


*W 












1- H- 


*• Cfl 


* 












~ H 


(j Ll! 


CD 












£ 2 


H- _J 


~ 2 












ID M 


2 M 


2 LE 












N DC 


!-! U. 


Ui X 












^^ ■ : 


QC 


_i 1- 












~ •»• Z «•- 


LL. UJ 


•* {jj 












»-i i Li ■ 


•♦ lC 


a oe 












~ C X 


r- O 


•rt •• 












# I 1- «1 


2 t 


>^ ^ 










■ 


os cj ^ c 


>—. m 


+ v* 










UJ 


II II II ac 


a: i- 


l3 >*■ 










Cfl 


* ~ T-l C 


u- 2 


~ «• • 










<I 


U " 1- CJ 


•♦ l-l 


* CD LLi 










B) 


2 ► Li. Li. 


• ii: 


r- ~3 t- 










<I 


li! «» m CC 


s a. 


x a ui 










>- 


x a •♦ • 


o ♦• 


CD i5£ _l 










<r 


t- ~ rv, — 


lit CN 


hOLU 










Q 


• * © i-i 


u. o 


OC CJ -i 


o 




o 


>*• 


■ 


■ »- M h- 


• no 


li UJ • 


o 


o 


c 


o 


rn 


II il.fi h 


1- « 00 


*■» iC 2 


T->. 


i-i 


1-1 


T^ 


Q 


* UJ 3 2 2 3 O 


1-1 iH I-I 


g 


X 


x c 


•a 


U _l CO t-H 


M U) H 


'- r- « 


r- 


K 


\- 


r- 


X 


U. U. O 0£ 


CC O O 


«» X X 


a c 


O X 


_i 


t-4 »-< C3 u_ 


u- CD CD CD u. tJ 


CD 


e 


X 


CD 


Li. 



UJ 

-J 

UJ 
Q 

ir5 

CO 



Ui 

oc 



M 



oc 

E 

♦• o 

■ o 

« 1*> 

t- z 

<I Ui 

a x 

»- 

• aw 

... uj 

t-oac 
u o 

« _J « 

3 «Ll 
i-i 
DUI" 
O H- -» 
>- Ui « 
-J ** 
OUI- 

a a z 

• ►s 

i- ^ H 

zn« 

HI M 

OC • « 



I 

s 

o 
a 
•• 
>o 

OK 

* 

X 

cn 

o 
a 



ac 

a. 



Ui 



z oe 
a. • 

♦» UJ 



<x u. 
oc 

CD OC 

O Ui 

OC z 

a. i- 

o 

z z 

o <x 



a. 

z 



Ui 
OC 
M 
CO 

Ui 

a 



a, 
<t 
i-i 
OC 

« 

OC 

o 



oooooooooooooco 

M^ID'ONXOkO'-iOOOOOO 

(M W N f J N W CJ f! M liT O « O 111 O 



OK 

r tv 

oc in ui 

o »- 

o O Ui 

oc oc _i 

a. n ui 

a. a 

«z « I 

I- I Ui 

« co r 

a « 

_i z 

Ui Ui Ui 

I- O -I 

Ui ~) »-i 



u 

a 






►- O «-i 
Ui I- 

_i 

Ui Ui 

a k 

Ui 

« -j 

K UJ 
<X Q 

a 



oc »- 
a. z 

CM OC 

o a. 
n 

OQ 

X z 

CO i-i 

o oc 

a a. 



x -~ 
o u 

>- CO 

€ 

Z H 
O ^ 
O 
Ok 
U H) 
Z OC 
X o >0 
U. If) ^ 
Ok -« 
t- Ok Ui 
O - * 

Ui o o 

_j o a. 
Ui o 

CO I*) oc 

• •> N 

H- O CO 

z o 

•-I O 2 
OC CN ii 
OlO J 
OC 
I- O Ui 

z cd r 
•-I « 
oc z 
a. o 



• *> •>* H- 



z 
oc 

X 
Ui 

oc 

<x 
<t 
u, 

II 

Q 



CD 

o 
oc 



ui 

JiZZ 

o oc oc 

a- x x 

•• I— H- 

<r ui ui 

« oc oc 

u_ ** *• 

II o o 

Q CD O 

•• OC oc 

to <o >0 

»0 f* *H 

II II II 

^*» ^N >-fc 

00 Ui Ui 

aa + *■ 

■O O 4 

oc oc oc 

>o >o >0 



Ui Ui u 

^ * * 

o o o 

a- a. a. 



1 



£ 



Z 
OC 

X 

»- 

Ui 

oc 

z 

Ui 



>- 

• 

II 
•» 
•a 
u. 



o 

OK 
OK 

A 

X 
CO 

o 

CD 

• •> 

CD 

Ok 
Ok 

aa 

X 

cn 

o 

CD 



O 

•V 
in 
oc 
a 
oc 
oc 

UI 



•• z 

■ QC 



o 
o 

in 

o 
►- 
o 

CD 

♦ ♦ 
fK. 
Ok 
Ok 

a 

x 
cn 
o 
x 

**> 
0> 
C* 

0» 
Ob 

X 

cn 
o 
a 



u 

Ui 

oc 
oc 

o 
u 

Ui 



oc 



a 

Ui 

a. 
a. 

o 
»- 
cn 



oc 

LL 



OC 

oc 

Ui 



ui 



Ui 



Ui 

■O Ui 
Ok _i 
Ok Ui 
OQ Ct 

X 

cn _i 
o _l 
CD i-i 
•♦ 3 Z 
Ok OC 

ok cn X 

a x Ui 
X K- oc 
cn - z 

OHU 
CD 2 X 

♦• I-I *— 

N OC • 
O u. > 
M •• » © 
» H II CD 

X 2 *» X 

cn ii « t- 
o oc u. o 

QQ.HO 



LL IH 

u. 
u 

Z LL 

<Z X • 

cn r 
• ui <x 
h- z oc 

2 <I X 

•-< z o 
oc oc 
a. oc ol 

•• ui 

in k k 

0k Z I-I 
Ok Ui X 

at • ui 
x i- 
cn z o 

X l-l H- 

u oc 

Z OL X 

Ui ♦♦ 

X If) oc 

•- o> X 

i-i Ok • 
II 00 I— 

n x z 

LL X QC 

moo. 



X 

z 

Ui 

LL 

O X 

© ♦• 

1^ ^ 
Z »i 
Ui » 



»- oc 

Ui a. 

oc ♦♦ 
♦♦ m 

•< Ok 

II Ok 

M a. 
<r x 
♦• cn 

X X 

Ui X 

cn 
x o 

-i in 
u m 

• • ^K 

~ z 



rH Ok 

K* Z 

oa «» 

H fiCvh 
• KOCX 

z cn t- uj 

U^UJZ 
Ui z 

OC UI 

U. X 



♦• a 

H» 11 

z z 



X » 
2 ♦• 



•• it 

•» oc 
z oc 



00 X ■ oc 

Ok I- •• X 

ok © • «r o 

a- ii -t- n »-i 
at ok * oc in 
x 2 <r oc x 
cn oc ii uj k 
x x « u. o 

X Ll 2 •-> X 



o©o o o o 

»<cNn«?io«o 



— ©00©©«-iCN©»-i© 

oOfinnooonno 
oo-h ^,-i^r)nnr)m«r 



HNi«)«;ONO«nOOOO 
©ooooo»-i»Hi-iwr*)*>o 

^♦ttinmininifiinminm 



z 
oc 

X 
K 

u 
oc 

rs 

Ok 

Ok 

at 

x 
cn 

x 

X 



n 
a 
x 
cn 
X o 

X Ok 

¥» Z 

0C Ui 

OC X 

UI 1- 

K ■ 

z z 

►H ■ 

0C A 

0. V 

•♦ ♦» 
" « 
- a 
oc z 
X <x 
oc ■ 
oc >- 
Ui ■ 

A 
* V 

cn *» 

Q U. 



z » 

II « 
oc «•• 

li- ■ 
•>• *+* 

o 

ro z 

at oc 
x x 
cn 

x >- 
a 

- - 2 
Ui K 0C 

cn x x 
x a. k 

JZLU 
UHftt 

CNOh 
ii Ok Ok 
>0 O 0* 



O •» 

O 2 
*■ »- 
A X 

X li. 

cn 2 
x m 

• » * 

o <r 

rj l. 
tn <i 

& Q 
X 

X UJ 
X X 
X I- 

• X 
2 2 

I— H-l 

x a 

LL O 

2 <X 

H-l • 

♦♦ H- 

• z 

« I-I 

l- 0C 

•a ll 

■ 

X UJ 
2 uC 

i-i <r 

t- 

Ul X 
_l X 
UJ V 

a 

x 
uj u 
oc w 
<r x 

■ 3 
t— 

2 X 
i-i I- 
QC 

LL UI 



z z 
oc oc 

X 3 
H- ►_ 
Ui Ui 

ococ 



z 
oc 



Ui 

oc 



Ui 

3 

z 

I-I 

H- Z Z 

Z OC OC 
X 3 3 

Ul-h 
Ui Ui 

X oc oc 



m o> 

CN M 






oc oc 

X X 

u u 



•a « 

Ui UJ 

LL LL 
Ui UJ 

oc oc 



LLI 



ZON 
oc - - 
3 .*■», .*■•* 

t- n n 

UJrirt 
OC K* W 

•» « 
cn oc oc 

cn <x <r 

UI I X 

oc u u 

t^, >^f V 



X « « 
0l Ui Ui 

za.ii 

►H Ui Ui 

♦♦ oc oc 



X LL 

X 
>- u. 

X 

z 

U Ui 

i-i z 
x <r 

3 2 

z OC 

X Ui 
OC I- 

u. z 

Ui 
Ui - 



Ll i-i 
OC 

U. 0. 
X ♦♦ 

w 

UJ o 

z ro 
<r at 

2 X 

X 

OC X 

Ui X 



LL I- 



z z z z z 



oc oc 

0. LL 

in o 

0k 0k 

Ok Qk 



oc oc oc 

ll ll CL 

N X Ok 

0k Ok 0k 

Ok Qk Ok 



2 O 

Ui CN 

■ .-I 

»- n 

2 OC 

•-I X 

OC oc 

LL OC 

«• Ui 
N ♦ 
O 2 
M ^ 

at z 
x UJ 
x a. 
x x 

a .♦ 

♦♦ o 
i-i n 

II M 
X <t 



o 
in 
o o 

CN O 
X O 
I- CI 
X X 

X t- 
♦♦ X 
O X 

II ♦♦ * 

**> IV O 

CN 0k i-i 

~ (► a 
x at oc 
oc 3 x 
V- x u 
I- X Ui 

<r x cc 
•• •• »■< 
o • t- 
«r oc ui 
o x x 
cn oc ♦♦ 

0C OC "k 

X Ui ii 

oc ~ 

0C H- Ui 
Ui U N 

*UH 

Z OC X 
CN 0C X 
2X1- 
Ui u >0 

a. • ii 
x I- ii 

♦♦ z oc 

o 

CN OC 

m a. 
at 
x IM 

X iH 

x >o 
x at 
♦♦ x 

CN X 

II Oh 
XXX 



X 

LL 

• ♦ 

o 
II 



o 

II 



o 
© 

X 

I- 
o 

X 

*• 

rv 

Ok 

at 

3 
X 

s 

• •> 
CN 
Ui 
X 
X 



Ui 

_ 
i-i 

LL 

X 



a 

Ui 

Q 
Q 
€ 
o 

X X 

o a 

CN QC 

at x 
3 u 
X Ui 
X oc 
X • 
z •- 
Ui i-i 
Z H- 
K I- 

^ z 

Ok ii 

•* OC 

•» LL 

at ♦♦ 
ii r-i i-i 

'k O H 

ri m ii 
- at x 

• 3 z 

x x Ui 
~ x x 

* x 

(- .. o 

Ll i-i II 



Z 
OC 
3 
»- 
Ui 
QC 



X 
CN 



X Ui 



Ui Ll 
_l 

- Z 

* o 

X oc 



h- <r 

x H- 

x « 

n a 
oc 

-I- LLi 



K- * Ui 



-J X X 

Ll UJ Ll 

n Z i-i 



«» Ui 

at x 
N 

X 



© 

CN 

*-i 

n 
oc 
x 
oc 
oc 

Ui i-i 

«» II 

z -> 
^ z 

Z Ui 
Ui X 

a. i- 

x o 

♦♦ ii 

o oc 

o u. 

^ n 

CD ** 

3 •» 

X ii 

o >* 

X Ui 

•• N 

© •-• 

© X 

in o 

m I- 

3 ^ 

X X 

X II 

X H 

♦♦ oc 

f i X 
© Ll 
f*) •♦ 

at o 

3 II * 
X OC X 
X *♦ n 

x © at 
♦• ii oc 
•h ^ o 

II -* CJ 
X vui 

•♦ X oc 

<och 

H K »- 

n t- U 
X « X 



o 
in 
© 

z 

Ui 

z 

K Tl 
'K || 

Qk uC 



h * 



m cv 
© 

X 

© 

n © 

ZCK*Q 

uj o x oc 

X M ~ X 

t- Z u» u 

^ Ui f- Ui 

Ok X Ll OC 



^ U. 3 
w Hi u. 

LiJ ••> ♦• 
M «» «• 
i-i X X 
X ~) li ^ 

A q a + 

~) 0C 0C n 

ll x a ii 

uXOn 

♦ ♦ ui UJ •• 
i OC 0C ii 



o 

§ 

»- 
o 

X 

Ok 
Ok 

a 

3 
X 

o 

X 

♦• 
0k 
0k 
0k 

at 

3 
X 
X 
X 



Ui 

I- 

Ui 

_j 

LL 

z 

X 
A CJ 

^ o 

^ X o 
Ui z © 
OHM 

<X JiC X 

LL CJ H- 

X « X 

LLi I- X 

Ui x ♦♦ 
QC Ui IV 

U. OC Ok 

Z Ok 

Ui ui a 

X -J 3 

*- n X 

O Ll X 

ii • x 



k- OC 

Ui LL 

M •♦ 

n X 
X Ok 

A Ok 
>0 X 
^ 3 

\ cn 
• ~ O 

X i X 

• u - ~ .. 

Q X ^ 
OC iC UJ 
X U X 
U <I o 
Ui OC _J 
OC H- U 



u 

Ui 

oc 
oc 

X 

u 

Ui 



CD 



II 

-) 



i- n n 

3 ♦♦ II 

0. HI <^ 

♦♦ H ^ 

■ >-k %^ 

o - .- 

• ^ oc 
II U. K 

* O H- 

CDUiH 



0C H- 

0. z 

rj « 

-h z 

S) ■ 

at z 

3 HI 

X <x 

X X 

X u 



ooooooooo 

OitNM*in<MD 

ooooooooo 
cn cn rj cn oi w ri cn cn 



ooooo©o©oo 

o>Ort(Mn«?m-oNco 
©ooooo©oo© 
cNr.mnnmnmforo 



o o o o © 
ck o h r ^ m 

r*) ro n t*) c^ 



»wj^ii mvwizm Lbsi> with dsamca 


We offer for the Mlcropolis Mod II 


Accounts Receivable $ 1 50.00 


Accounts Payable 1 50.00 


General Ledger 1 50.00 


Investment Package 35.00 


Assembly Language Course 3 5.00 


Family Package 30.00 


Tiny Pascal 45.00 


We offer for the TRS-80 Level II on tape 


Tiny Pascal 45.00 


Assembly Language Course 35.00 


Family Package 30.00 


(Illinois Residents add 5% sales Tax) 




£i>JAl! 






JJU»JisL£»t> 






£IMlJ>!rJ\CJ4 




^wij^yjti J 


i^S95 


8 1 3 Mac Arthur Drive 


Urbana, 11. 6 1 80 1 


■^ 217-367-7806 f. 



| Advanced Scientific Software for 



1 



TRS-80 and NORTH STAR 

MATH Librar y I 

22 quality programs (req. 16K) including root of 
equations, integration, differentiation, simulta- 
neous equations, matrix operations, interpola- 
tions, regression analysis (linear, polynomial, 
multiple), ordinary differential equations, partial 
differential equations, statistics and plotting; 
with manual. 

TRS-80 disk $25. 

TRS-80, Level II tape $22. 

North Star disk (single density) $35. 

ODE Master 

Solves single and simultaneous ordinary differ- 
ential equations; can handle even 'stiff prob- 
lems; error control and formatted output to CRT 
or printer; with manual. 



TRS-80 Level II, 16K tape 
North Star disk (single density) 



$15. 
$20. 



Custom Software for education or professional 
use is available. 



•• Lee -" 

L.5819 Thomas Ave., Philadelphia PA 19143 (215) 748-4558 




ANNOUNCING 

£COMPyPRISM? 

CHECK THIS LITTLE 

MUTANT OUT ! ! ! 

Single board color graphics interface 

for i- 100 bus systems 

16K on board memory ' ! 

16 colors always available ! 

27648 individual picture elements ! 

Every element programmable in any 

color at any time ■ 

Sequential memory mapping makes 



programming easy 
K I T $240.00 



ASSEMBLED $280.00 



4 MHz MOD FOR S.D. SYSTEMS 
EXPANDORAM $10 
16 CHANNEL A-D, 8 CHANNEL D-A 
FOR S-100 BUS, BARE BOARD WITH 
DOCUMENTATION $ 25 



CO 



J.E.S. GRAPHICS 

P.O. BOX 2752 
TULSA, OK. 74101 

(918)742-7104 



#X Reader Service index— page 241 



Microcomputing February 1980 45 5 





JUST WRAP WIRE UIRRPPII1C 

WHY CUT? WHY STRIP? WHY SLIT? 
WHY NOT JUST WRAP? 




JW-1-B 



JW-1-W 



JW-1-Y 



JW-1-R 



BLUE WIRE 



WHITE WIRE 



YELLOW WIRE 



RED WIRE 



$14.95 



$14.95 



$14.95 



$14.95 



JUST WRRP REPLRCEmERT ROLLS 



R-JW-B 



R-JW-W 



R-JW-Y 



R-JW-R 



BLUE WIRE 



50 ft. Roll $2.98 



WHITE WIRE 50 ft. Roll $2.98 



YELLOW WIRE 50 ft. Roll $2.98 



RED WIRE 



50 ft. Roll $2.98 



URWRRP TOOL FOR JUST WRRP 



JUW-1 | UNWRAPPING TOOL \ $3 49 



JUST WRRP KIT 



JWK-6 1 JUST WRAP KlT 



$2495 




HOBBV WIRE WRRPPIRG 
TOOL BRTTERV POWERED 



|BW-2630| FOR AWG 26-30 \ $19.95" 



Use "C" size NICAD Batteries, not included. Bits 
not included. 



BIT FOR AWG 30 



BIT FOR AWG 26-28 



$3.95 



$7.95 



HOBBV WRRP TOOLS 





WSU-30 


REGULAR WRAP 


$6 95 


WSU-30M 


MODIFIED WRAP 


$7 95 




PRE-5TRIPPED 
WIRE WRRPPIRG 
WIRE 

Wire for wire wrapping, 
AWG 30 (0 25mm) 
KYNAR" wire. 50 wires 
per package stripped 
1 both ends. 

' <NAW PfNNWAlT 



30 B 50 010 



30 Y 50-010 



30 W 50-010 



3QB5O020 



30 V 50 020 



30 W 50-020 



30 R- 50-020 



30 B 50 030 



30 Y 50-030 



30 W 50 030 



30 R 50-030 



30 B 50 040 



30 Y 50 040 



30 W 50 040 



30 R 50-040 
30 B 50-050 



30 Y 50 050 
3 W 56 6*0 



30 R 50-050 



30 B 50 060 



30 Y 50 060 
30 W 50 060* 



R 50-060 



J AWG blue Wire 1 Long 



30 AWG Yellow Wire 1' Lone 



30 AWG White Wire 1" Long 



30 AWG Red Wire 1" Lons 



JO AWG White Wire 2" Lont 



30 AWG Red Wire 2 " I ont 



30 AWG Blue Wire 3 Lone 



30 AWG Yellow Wire 3 Lone 



30 AWG White Wtre 3 Long 



Vi AWG Red Wire 3 Long 
W AWG Blue Wire 4 j"ong" 



30 AWG Yellow Wire 4 Long 



30 AWG White Wire 4 Lone 



V AWG Red Wire 4" long 
30 AWG Blue Wire 5" Long" 



AWG Yellow Wire 5 I ong 
id AWG White Wire 5" I one 



n-AWG Blue Wire 6 long 



30 AWG Yellow Wire 6 Ion 



30 AWG White Wire 6 lone 



L 



30 AWG Red Wire 6 Long 



99 



199 



S99 



>1 07 



no? 



$1 16 



$1 16 



\\2^ 



tl 23 



$123 



$130 



il 30 



H30 



TT38 



TRICOLOR DI5PERSER 



fWD-30-TRl | TRICOLOR DISPENSER | $5.95 \ 



ft) 



4| "V 

J! * 1 

5% ^21if ^ 




IR-30-TRI | REPLACEMENT ROLLS 1 $3.9?| 

WIRE DISPERSER 




WD-30-B 


BLUE WIRE 


$3.95 


WD-30-Y 


YELLOW WIRE 


$3.95 


WD-30-W 


WHITE WIRE 


$3.95 


WD-30-R 


RED WIRE 


$3 95 



DI5PERSER REPLRCERIERT ROLLS 



R-30B-0050 



R-30Y-0050 



R-30W-0050 



R-30R-0050 



30-AWG BLUE 50 FT. ROLL 



30-AWG YELLOW50FT.ROLL 



30-AWG WHITE 50 FT. ROLL 



30-AWG RED 50 FT ROLL 



$1.98 



$1.98 



$1.98 



$1.98 



•KYNARPENNW, 



£K 



HOOK-UP WIRE 



HK-18 



HK-20 



HK-22 



HK-24 



HK-26 



SHK-18 



SHK-22 



SHK-26 



18 AWG 



20 AWG 



22 AWG 



24 AWG 



26 AWG 



18 AWG 



SHK-2020 AWG 



22 AWG 



SHK-24 24 AWG 



26 AWG 



25 FT. 



25 FT. 



50 FT. 



50 FT 



50 FT 



25 FT 



25 FT 



50 FT 



50 FT 



50 FT 



SOLID CONDUCTOR 



$1 20 



SOLID CONDUCTOR 



S .98 



SOLID CONDUCTOR 



$1.35 



SOLID CONDUCTOR $135 



SOLID CONDUCTOR $135 



STRANDED CONDUCTOR $1 .20 



STRANDED CONDUCTOR $ .98 



STRANDED CONDUCTOR $1 35 



STRANDED CONDUCTOR 



STRANDED CONDUCTOR 



$1 35 



51 35 






RIBB0R CRBLE RSSER1BLV SinciE EBD 

26 AWG Rainbow Coded flat cable 



SE 14-24 



SE 14-48 



SE 16-24 



SE 16-48 



WITH 14 PIN DIP PLUG 
24" LONQ (609MM) 



WITH 14 PIN DIP PLUG 
48" LONGM218MM) 



WITH 16 PIN LONG DIP PLUG 

24" LONG (609MM) 
WITH 16 PIN LONG DIP PLUG 



48"LQNG(1218MM) 



$355 



$4.25 



$3.75 



$4.45 



DIP PLUG WITH (0UER FOR U5E 
WITH RIBB0R COBLE 



14-PLG 


14 PIN PLUG & COVER 


$1.45 


16-PLG 


16 PIN PLUG & COVER 


$1 59 



QUANTITY 2 PLUGS. 2 COVERS 



RIBB0R CRBLE RS5EIT1BLV DOUBLE EM) 



DE14-2 


WITH 14 PIN DIP PLUG -2" 


$3.75 


DE14-4 


WITH 14 PIN DIP PLUG - 4" 


$3.85 


DE14-8 


WITH 1 4 PIN DIP PLUG - 8" 


$3.95 


DE 14-12 


WITH 14 PIN DIP PLUG -12" 


$4.07 


DE 14-16 


WITH 14 PIN DIP PLUG- 16" 


$4.12 


DE 14-24 


WITH 14 PIN DIP PLUG - 24" 


$4.15 


DE16-2 


WITH 16 PIN DIP PLUG -2" 


$4.15 


DE16-4 


WITH 16 PIN DIP PLUG -4" 


$4.25 


DE16-8 


WITH 16 PIN DIP PLUG -8" 


$4 35 


DE 16-12 


WITH 16 PIN DIP PLUG -12" 


$4.47 


DE 16-16 


WITH 16 PIN DIP PLUG- 16" 


$4.52 


DE 16-24 


WITH 16 PIN DIP PLUG - 24" 


$4.55 


DE24-6 


WITH 24 PIN DIP PLUG -6" 


$6 05 


DE24-8 


WITH 24 PIN DIP PLUG -8" 


$6.50 


DE 24-12 


WITH 24 PIN DIP PLUG- 12" 


$6.90 


DE 24-16 


WITH 24 PIN DIP PLUG - 16" 


$7.10 


DE 24-24 


WITH 24 PIN DIP PLUG - 24" 


$7,701 



DIP 50CKETS 



14 DIP 


14 PIN DIP SOCKET 


$0.79 


16 DIP 


16 PIN DIP SOCKET 


$0 89 


24 DIP 


24 PIN DIP SOCKET 


$1 49 


36 DIP 


36 PIN DIP SOCKET 


$2 49 


40 DIP 


40 PIN DIP SOCKET 


$2.99 




DIP IC IRSERTI0R TOOLS 
WITH PIR STRRICHTRER 

Narrow profile. Pin straightener 
built into tool. Automatic ejector. 



INS-1416 



14-16 PIN 
DIP/IC INSERTER 



mos CmOS-SRFE 



GROUND STRAP NOT INCLUDED 



MOS-1416 



MOS-2428 



14-16 PIN, MOS 
CMOS SAFE INSERTER 

24-28 PIN. MOS 
CMOS SAFE INSERTER 



$7.95 




36-40 PIR CHIOS -SRFE 
ICIHSERTIOH TOOL 



Aligns bent out pins. Includes terminal lug for at- 
tachment of ground strap. 



GROUND STRAP NOT INCLUDED 




MOS-40 


36-40 PIN CMOS SAFE 
INSERTION TOOL 


$7 95 



DIP IC EHTRRCTOR TOOL 

Extracts all LSI, MSI and SSI devices of from 8 to 
24 pins. 



rsZTT 



EXTRACTOR TOOL 



| $1 49 1 




24-40 CmOS-SRFE EHTRRCTOR TOOL 



Removes 24-40 pin IC's, .600" centers. C-MOS safe. 
Includes terminal lug for attachment of ground strap. 



GROUND STRAP NOT INCLUDEO 

I EX-2 | CMOS SAFE EXTRACTOR TOOL | $7.95 



MINIMUM ORDER $25 .00, SHIPPING CHARGE $2.00, NY. CITY AND STATE RESIDENTS ADD TAX 



OK MACHINE & TOOL CORPORATION 

3455 Conner St . Bronx NY 1 0475 ■ (21 n ) 994 -6600 ■ Telex 1 25091 



46 Microcomputing February 1980 




PRB-1 DIGITRL LOGIC PROBE 



• DC to > 50 MHZ 

• 10 Nmc. pulse response 

• 120 K : impedance 

• Automatic puis* stretching 
to 50 Msec. 

• Automatic resetting memory 

• Open circuit detection 



Automatic threshold 

resetting 

Compatible with all logic 

familias 4-15 VDC 

Rang* ex tended to 1 5-25 VDC 

with optional PA-1 adapter 

Supply O.V.P. to • 70 VDC 

No switchas/no calibration 



PRB-1 | DIGITAL LOGIC PROBE" 



• •• 



*■ OKUn MOWH1 




9 m m - OaTOW MOWT 





$36 95 



PR0T0TVPE BOARD CITMOO 

TERMINALS: 1,020 TEST POINTS 188 separate 5 
point terminals, plus 2 horizontal bus lines of 40 com- 
mon test points each. 

SIZE: 6 1 /z" Wide. 5" Long. 



CM-100 MODULAR PROTOTYPE BOARD $25.95 



PR0T0TVPE BORRD CHI- 200 

TERMINALS 630 TEST POINTS 94 separate 5 point 
terminals, plus 4 bus lines of 40 common test points 
each. SIZE: 6" Wide, 3V2" Long 



1 CM-2Q0J MODULAR PROTOTYPE BOARD I $1 6 45 j 



il 



CM-400 



m 



m 
mm 

Mil;:!! 
W 






• 



CM-300 



i 
I 

i; 
I 
I! 

I 

H 

1 



CM -500 



PROTOTYPE BORRD CHI -300,(111-400 

CM-300 and CM-400 have two separated rows of five 
interconnected contacts each. Each pin of a DIP in- 
serted in the strip will have four additional tie-points 
per pin to insert connecting wires. They accept leads 
and components up to .032 in. diameter. Intercon- 
nections are readily made with RW-50 Jumper Wire. 
All contact sockets are on a .100 in. square grid 
(1K« in. wide). 



CM-300 



CM-400 



MODULAR PROTOTYPE BOARD 



MODULAR PROTOTYPE BOARD 



$9.95 



$2.45 



mODULRR BUS STRIP 

CM-500 is a bus strip to be used in conjunction with 
CM-300 and CM-400 for distribution of power and 
common signed lines. Two separate rows of common 
terminals, grouped into clusters of five. All contact 
sockets are on a .100 in. square grid. 

[ CM-500 | MODULAR BUS STRIP | $1.95 





JUNIPER WIRES 

50 Preformed wires, from IV2 to 4 inches, 20 AWG 
solid wire, white insulation. 

RW-50 I JUMPER WIRES | $298 



w 



CUP ROD STRIP" TOOL 

For cutting and stripping 1 in. insulation from 30 
AWG wire. 

lCAS-130| CLIP AND STRIP | S1 98 | 

JHL ABOVt CUT AND STRIP TOOL IS MOT APPt 4HLI 
fQR MYLINt OR TfflON INSULATION 




4ft 




WK-2t 



WK-31 



WK4B 




mini sherr 



Ms-10 



MINI-SHEAR 



$4.95 



mini SHERR WITH SRPETV CLIP 



MS-20 


MINI-SHEAR WITH CLIP 


$5 95 



URCUUm UISE 

ABS construction, IV2 in. wide jaws. 



I VV - 1 I 



VACUUM VISE 



$3.49 



WIRE WRRPPIRD HITS 
WK-2,WH-3.WK-4 



WK-2-B 


WIRE-WRAPPING KIT (BLUE) 


$1295 


WK-2-Y 


WIRE-WRAPPING KIT(YELLOW) 


$12.95 


WK-2-W 


WIRE-WRAPPING KIT (WHITE) 


$12 95 


WK-2-R 


WIRE-WRAPPING KIT (RED) 


$1295 




| WK-3B (BLUE) | WIRE-WRAPPING KIT |$16 95| 




WK-4B (BLUE) WIRE-WRAPPING KIT $25 99 



WIRE WRRPPII1C KIT WK-5 



BW-630, WSU-30M, CON-1, EX-1, INS-1416, TRS-2, 
MS-20, 14, 16, 24 and 40 DIP sockets, WWT-1, 
WD-30-TR1, H-PCB-1. 



WK-5 



WIRE-WRAPPING KIT 



$7495 



PC BORRD 

4 x 4.5 x % in. board, glass coated EPOXY laminate, 
solder coated 1 oz. copper pads. The board has pro- 
vision for a 22/44 two sided edge connector. .156 in. 
spacing. Edge contacts are non-dedicated for maxi- 
mum flexibility. 

The board contains a matrix of .040 in. diameter 
holes on .100 in. centers. Component side contains 
76 two-hole pads. 

Two independent bus systems are provided for volt- 
age and ground on both sides of the board. 

I H-PCB-1 j HOBBY BOARD | $4 99 



TERmiRRL BORRD 

.062 thick glass coated epoxy laminate. Outside di- 
mensions 6.3 in. x 3.94 in. Not plated. 

|A-PC-01 1 TERMINAL BOARD | $3 45 "1 



llilillillilllli 




PC BORRD 

Same specifications as A-PC-01 except matrix pat- 
tern is copper plated and solder coated on one side. 

[A-PC-02 PRINTED CIRCUIT BOARD | $595~*1 

PC BORRD 

Same specifications as A-PC-01. Each line of holes 
is connected with copper plated and solder coated 
parallel strips on one side. 



A- PC-03 


PRINTED CIRCUIT PDARD 


$595 




PC BORRD 

Same specifications as A-PC-01. One side has hori- 
zontal copper strips, solder coated. Second side has 
vertical parallel bars. 



A-PC-04 


PRINTED CIRCUIT BOARD 


$7.95 




iTT^'Tt^lO 



!T> 



wi: 



=*=^"!trrjL — t 



iZZD 



WWT J 



V- ... 



I. O X "•" ^3> 



tt ^\\iV,jr 



PC BORRD 

The A-PC-05 features numbered contacts for easy 
reference along with a numbered matrix for easy 
hole locations. Made of .062 in. thick epoxy lami- 
nate. 4.5 in. x 5 in. Edge Connector Board. 



A- 



PC-05 j 



PRINTED CIRCUIT BOARD 



$545 



Same as A-PC-05 except outside dimensions are 4.5 
in. x 6.5 in. Edge Connector Board. 



A-PC-06 



PRINTED CIRCUIT BOARD 



$6 95 



Same as A-PC-05 except outside dimensions are 4.5 
in. x 7 in. Edge Connector Board. 

| A -PC -07 I PRINTED CIRCUIT BOARD | $8 95 



TERmiRRlS 



WWT-1 


SLOTTED TERMINAL 


S4 98 


WWT-2 


SINGLE SIDED 
TERMINAL 


$2 98 


WWT -3 


IC SOCKET TERMINAL 


$4 98 


WWT-4 


DOUBLE SIDED 
TERMINAL 


$1 98 



TERmiRRL IRSERTinC TOOL 

For inserting WWT-1, -2, -3 and -4 terminals. 



I INS-1 I INSERTING TOOL | $2~49 



P. C.B. TERmiRRL STRIPS 



TS- 4 



TS- 8 



TS-12 



4-POLE 



8-POLE 



12-POLE 



$1.39 



HT9 



$2.99 




mODULRR TERmiRRL STRIPS 



TS-6MD | 



2-POLE 



$1.79 



(3 per Package) 



^ 



, t S »W>WW * '> V IWW»W>'>M 



PC [RRD GUIDES 



I TR-1 I 



CARD GUIDES 



$1.89 j 



QUANTITY — ONF PAIR (2 PCS ) 



PC CRRD CHIDES & BRRCKETS 

TRS-2 I GUIDES & BRACKETS \ $3.79 \ 

QUANTITY — ONE SET (4 PCS ) 



PC EDGE CORRECTOR 

44 pin, dual read-out, .156 in. spacing, wire-wrap- 
ping. 

| CON-1~~ PC EDGE CONNECTOR" $3 49 \ 



MINIMUM ORDER $25.00. SHIPPING CHARGE $2.00, NY. CITY ANO STATE RESIDENTS ADD TAX 



OK MACHINE & TOOL CORPORATION 

3455 Conner St Bronx NY 10475 B(212) 994-6600 BTelex 125091 



^05 



v* Reader Service index— page 241 



Microcomputing February 1980 47 



Dial-up Directory 



"Dial-up Directory" is developing into an ongoing series. Here's installment number two. 



Frank J. Derfler, Jr. 
PO Box 17283 
Montgomery AL 36117 



Have you tried dialing up yet? If 
you don't have a telecommuni- 
cations capability for your computer, 
you are missing a large part of what 
your system can provide. You don't 
really have to have a computer to par- 
ticipate in the computer bulletin 
board services (CBBS) or in personal 
data phone calls. A Teletype or video 
terminal will do, but having a com- 
puter serve as a "smart terminal" 
gives you the capability to save infor- 
mation and to exchange "RUNing" 
programs. 

Review the CBBS list we have pro- 
vided. Find a number that interests 
you and give it a call. Let us know 

48 Microcomputing February 1980 



Dial-up Directory. 

The following list provides the location, phone number and other information about Com- 
puter Bulletin Board Systems, Apple Bulletin Board Systems and TRS-80 Forums around the 
country. The differences between these systems, which are open to all, are small . Unless other- 
wise shown, all systems operate 24 hours a day. Hit at least three carriage returns to set the 
speed. I have personally checked into all of these systems. That is my only guarantee. These 
were verified from my list of over 80 "reported" systems. 



LOCATION 



PHONE NO. 



COMMENTS 



California 






Canoga Park 


213-340-0135 


Apple System, well used and very friendly. 


ABBS 






W. Palm Beach 


305-689-3234 




ABBS 






San Diego 


714-449-5689 


SUPER system. Can transfer programs. Many 


Bill Blue's ABBS 




features. 


(People's Computer Sys.) 






San Diego 


714-582-9557 


Service of the "Computer Merchant." 


ABBS 






San Fernando 


213-340-0135 


ABBS. 


San Francisco 


415-948-1474 


Service of the PC net. 


ABBS 






San Francisco 


415-348-2139 


Forum-80. 


District of Columbia 






Washington DC 


202-281-2125 


Unique system links CBBS to amateur radio. 


AMRAD 






Florida 






Ft. Lauderdale 


305-566-0805 


ABBS. 


Hollywood 


305-989-9647 


Many SOURCE users. (ABBS) 


Miami 


305-821-7401 


ABBS. 


Tampa 


813-223-7688 


Forum-80. 


Georgia 






Atlanta 


404-939-1520 


Remote North Star. Programs to run. 


Atlanta 


404-394-4220 


CBBS. 









what your interests and capabilities 
are, and we will include you in the 
Dial-up Directory. 

Modem Bargain 

I have moaned several times about 
how expensive commercially made 
modems are. I don't know whether to 
give the credit to Radio Shack or to 
Novation, but between the two of 
them, they are now selling a high- 
quality commercial modem at a rea- 
sonable price. 

The Radio Shack Telephone Inter- 
face II (catalog number 26-1171) is a 
compact, acoustically coupled mo- 
dem with switch -selected originate or 
receive capability. It lists for $199. 
The version carrying the original 
manufacturers label (Novation) is 
available for $179. The modem needs 
a cable with a male DB-25P connector 
on the end to connect to the comput- 
er; otherwise, it comes ready to 
operate. 




The Radio Shack Telephone Interface II is a 
compact, professional unit at a hobby price. 



The Telephone Interface II has on- 
ly two switches: the power switch se- 
lects the originate or answer mode, 



Illinois 

Chicago 
CBBS 

Chicago 

Massachusetts 

Boston 
CBBS 

Cambridge 

Michigan 

Detroit 

Missouri 

Kansas City 
Forum -80 

New Jersey 

Bound Brook 

S.J. Electronic Mail 

Princeton 

Ohio 

Akron 

Oregon 

Beaverton 

South Carolina 

Columbia 

Tennessee 

Memphis 

Texas 

Dallas 
CBBS 

Ft. Worth 

Wichita Falls 

Virginia 

Fairfax 

Family History Forum 



312-528-7141 The "grandfather" of all. Brainchild of Ward 
(Very busy) Christensen and Randy Suess. 

312-767-0202 Forum-80. 



617-963-8310 Busy and interesting system. Large message 

file. 

617-864-3819 CBBS. 



313-288-0335 CBBS. 



816-861-7040 Very active system. Many interesting users. 



201-457-0893 Use access code HEL-I999,MAIL. A different 

kind of system . 

201-874-6833 Forum-80. 

216-745-7855 ABBS. 

503-646-5510 Friendly system . 

803-771-0922 Remote programs to run. May not be 24 hour. 

901-276-8196 Forum-80. 

214-641-8759 Another busy system. 

817-923-0009 Forum-80. 

817-855-3916 Forum-80. 

703-978-7561 Special interest group dealing with genealogy. 



and the second switch selects between 
full and half duplex and a "test" 
mode. The test mode is useful not only 
for testing the modem, but also for 
testing computer telecommunications 
hardware and software. When the 
switch is in the test mode, the audio 
transmit frequencies are the same as 
the receive frequencies. 

If you put a telephone on the cou- 
pler, the input and output will be 
looped back via the "sidetone" in the 
phone, and the modem and computer 
can hear themselves. You won't know 
how useful this is until you have 
stretched the patience of every other 
modem owner in town very thin with 
calls to see if you "got it right this 
time." 

The modem comes with a compre- 
hensive manual that is about one step 
above Radio Shack's usual offering. 
The manual contains operating in- 
structions, pin connections and tech- 
nical descriptions, a schematic and a 
useful system troubleshooting guide. 
The Telephone Interface II is a high- 
quality product at a more reasonable 
price than most. 

CBBS Spotlight 

Let's consider a CBBS svstem, the 
REMOTE NORTHSTAR,' operated 
by Les Freed and Bob Strong in 
Atlanta GA. This system is convenient 
for beginners since it doesn't get ex- 
tremely heavy use, but it has many 
features and good prompts for new 
users. Users more familiar with CBBS 
operations will benefit from the "X," 
or expert, mode, which bypasses de- 
tailed instructions and saves time on 
long-distance phone calls. 

REMOTE NORTHSTAR is pri- 
marily a message system. It usually 
has about 40 messages up at any one 
time (some of the older systems may 
have nearly ten times that number). 
The "S" command is used to call up a 
summary of some or all of the mes- 
sages on file. Also available is a "Q" 
command, which sends a quick (sub- 
ject only) summary. Message entry is 
simple. Passwords for erasure are op- 
tional, and no special codes are 
needed to transfer the message to disk. 

A special feature of this system is a 
menu of utility and game programs 
that Les and Bob keep available for 
users. Nineteen programs were avail- 
able the last time I looked. This is a 
luxury in terms of software, user de- 
mand and disk space, but it is nice to 
have. 

A major function of REMOTE 
NORTHSTAR is to demonstrate the 



Microcomputing February 1980 49 



Fe 




d I U ■ II 



RCA 



1802 

COSMAC CPU 
Own a powerful home computer system, starting for just $99.95-a price that 
gets you up and running the very first night with your own TV for a video 
display $99 95 ELF II includes RCA 1802 8 bit microprocessor addressable to 64k 
bytes with DMA, interrupt, 16 registers, ALU, 256 byte RAM. full hex keyboard, 
two digit hex output display, stable crystal clock for timing purposes, RCA 1861 
video IC to display your programs on any video monitor or TV screen and 5 slot 
plug in expansion bus (less connectors) to expand ELF II into a giant! 

ELF II Explodes Into A Giant! 

Master ELF lis $99.95 capabilities, then expand with GIANT BOARD . . . 
KLUGE BOARD 4k RAM BOARDS TINY BASIC ASCII KEYBOARD 
LIGHT PEN ELF BUG MONITOR COLOR GRAPHICS & MUSIC SYSTEM 
TEXT EDITOR ASSEMBLER DISASSEMBLER VIDEO DISPLAY BOARD 

. . and, another great reason for getting your ELF now- 

BREAKTHROUGH! 

Netronics proudly announced the release of 
the first 1802 FULL BASIC, written by L. 
Sandlin, with a hardware floating point RPN 
math package (requires 8k RAM plus ASCII and 
video display boards), $79.95 plus $2 p&h. Also 
available for RCA VIP and other 1802 systems 
(send for details)! 



Master This Computer In A Flash! 

Regardless of how minimal your computer background is now, you can learn 
to program an ELF II in almost no time at all. Our Short Course On Micropro 
cessor 6 Computer Programming- written in non technical language- guides you 
through each of the RCA COSMAC 1802s capabilities, so you'll understand 
everything ELF II can do and how to get ELF II to do it! Don't worry if you've 
been stumped by computer books before. The Short Course represents a major 
advance in literary clarity in the computer field You don't have to be a computer 
engineer in order to understand it. Keyed to ELF II, it's loaded with "hands on" 
illustrations When you're finished with the Short Course, neither ELF II nor the 
RCA 1802 will hold any mysteries for you. 

In fact, not only will you now be able to use a personal computer creatively, 
you'll also be able to read magazines such as BYTE INTERFACE AGE POPU 
LAR ELECTRONICS and PERSONAL COMPUTING and fully understand the 
articles. And, you'll understand hqw to expand ELF II to give you the exact 
capabilities you need! 

If you work with large computers, ELF II and the Short Course will help you 
understand what they're doing. 

Get Started For Just $99.95, Complete! 

$99 95 ELF II includes all the hardware and software you need to start writing 
and running programs at home, displaying »;deo graphics on your TV screen and 
designing circuits using a microprocessor -the very first night-even if you've 
never used a computer before. 

ELF II connects directly to the video input of your TV set, without any addi 
tional hardware, Or, with an $8.95 RF modulator (see coupon below), you can 
connect ELF II to your TV's antenna terminals instead. 

ELF II has been designed to play all the video games you want, including a 
fascinating new target missile gun game that was developed specifically for ELF 
II. But games are only the icing on the cake The real value of ELF II is that it 
gives you a chance to write machine language programs-and machine language 
is the fundamental language of all computers. Of course, machine language is 
only a starting point. You can also program ELF II with assembly language and 
tiny BASIC But ELF lis machine language capability gives you a chance to 
develop a working knowledge of computers that you can't get from running only 



Write and run programs- the 
very first night- even if you've 
never used a computer before! 

You're up and running with video graphics for just $99 95 — 
then use low cost add-ons to create your own personal system 
that rivals home computers sold for 5-times ELF lis low price! 

pre recorded tape cassettes. 

ELF II Gives You The Power To Make Things Happen! 

Expanded, ELF II can give you more power to make things happen in the real 
world than heavily advertised home computers that sell for a lot more money 
Thanks to an ongoing committment to develop the RCA 1802 for home computer 
use, the ELF II products-being introduced by Netronics-keep you right on the 
outer fringe of today's small computer technology. It's a perfect computer for 
engineering, business, industrial, scientific and personal applications. 

Plug in the GIANT BOARD to record and play back programs, edit and 
debug programs, communicate with remote devices and make things happen in 
the outside world. Add Kluge (prototyping) Board and you can use ELF II to 
solve special problems such as operating a complex alarm system or controlling 
a printing press. Add 4k RAM Boards to write longer programs, store more 
information and solve more sophisticated problems. 

ELF II add ons already include the ELF II Light Pan and the amazing ELF BUG 
Monitor-two extremely recent breakthroughs that have not yet been duplicated 
by any other manufacturer. 

The ELF BUG Monitor lets you debug programs with lightening speed because 
the key to debugging is to know what's inside the registers of the microproces 
sor And, with the ELF BUG Monitor, instead of single stepping through your 
programs, you can now display the entire contents of the registers on your TV 
screen. You find out immediately what's going on and can make any necessary 
changes. 

The incredible ELF II Light Pen lets you write or draw anything you want on a 
TV screen with just a wave of the "magic wand." Netronics has also introduced 
the ELF II Color Graphics b Music System-more breakthroughs that ELF II 
owners wete the first to enjoy! 
ELF II Tiny BASIC 

Ultimately, ELF II understands only machine language-the fundamental coding 
required by all computers. But, to simplify your relationship with ELF II, we've 
introduced an ELF II Tiny BASIC that makes communicating with ELF II a 
breeze. 

Now Available! Text Editor, Assembler, 
Disassembler And A New Video Display Board! 

The Text Editor gives you word processing ability and the ability to edit 
programs or text while it is displayed on your video monitor. Lines and charac 
ters may be quickly inserted, deleted or changed. Add a printer and ELF II can 
type letters for you-error free-plus print names and addresses from your 
mailing list! 

ELF Ms Assembler translates assembly language programs into hexidecimal 
machine code for ELF II use. The Assembler features mnemonic abbreviations 
rather than numerics so that the instructions on your programs are easier to 
read-this is a big help in catching errors. 

ELF It's Disassembler takes machine code programs and produces assembly 
language source listings. This helps you understand the programs you are 
working with and improve them when required 

The new ELF II Video Display Board lets you generate a sharp, professional 
32 or 64 character by 16 line upper and lower case display on your TV screen or 
video monitor-dramatically improving your unexpanded $99.95 ELF II. When you 
get into longer programs, the Video Display Board is a real blessing! 

' Now Available! 

D A-D/D-A Board Kit includes 1 channel (expandable to 




4) D-A, A-D converters, $39.95 plus $2 postage & hand 
ling. . 

D PILOT Language — A new text-oriented language that 
allows you to write educational programs on ELF II with 
speed and ease! Write programs for games. . .unscram- 
bling sentences. . .spelling drills. . ."fill in the missing 
word" tests, etc.! PILOT is a must for any ELF II owner 
with children. PILOT Language on cassette tape, only 
5/9.95 postpaid! 

□ Game Package on cassette tape (requires 4k RAM), 
$9.95 plus $2 postage & handling. 
Clip Here and Attach to Your Order Below! ^^^ 



Netronics R&D Ltd., Dept. K-2 

333 Litchfield Road, New Milford, CT 06776 

Yes! I want my own computer! Please rush me — 

J RCA COSMAC ELF II language, it s a learning breakthrough tor engineers and laymen 
alike %b postpaid 

□ Deluxe Metal Cabinet with plexiglas dust cover tor ELF II 
$29 95 plus $2 bO p&h 

□ l am also enclosing payment (including postage & handling) tor 
the items checked below' 

D I want my ELF II wired and tested with power supply. RCA 
180? User s Manual and Short Course— all for |ust $149 95 plus 
S3 p&h 



PHONE ORDERS ACCEPTED! 
Call (203) 354-9375 



kit at $99 95 plus $3 postage and 
(requires 6 3 to 8 volt AC power 



handling 
supply l 

□ Power Supply (required I $4 95 postpaid 

RCA 180? User s Manual $5 postpaid 

D Tom Pittman s Short Course On Microprocessor & Computer 

Programming leaches you |ust about everything there is to know 

.i ELF H or any RCA 180? computer Written in non technical 

ALSO AVAILABLE FOR ELF II « 



Total Enclosed $ 

(Conn res add tax) 

CHARGE IT! Exp Date 

D Visa D Master Charge 
(Bank! 



) 



Account ff 



,TM 



GIANT BOARD 1 M kit with cassette I/O RS ?3? 
f I/O 8 bit P I/O decoders tor 14 separate I/O 
mstrui lions and a system monitor /editor $39 95 plus 

%,' p&n 

Kluge i Prototype) Board accepts up to J6 IC s 
$17 00 plus $1 p&h 

4k Static RAM kit Addressable to any 4k page to 
64k $89 95 plus $3 p&h 

□ Gold plated 86-pin connectors (one required tor each 
pluq in board i $5 70 h,i postpaid 

Expansion Power Supply i required when adding 4k 
RAMi $34 95 plus $? p&h 

D Professional ASCII Keyboard kit with 1?8 ASCII 
upper /lower case set 9b printable characters onboard 
regulator parity logic selection and choice ot 4 hand 
shaking signals to mate with almost any computer 
$64 95 plus $? p&h 

Deluxe metal cabinet tor ASCII Keyboard. $19 95 
plus $? 50 p&h 

D Video Display Board kit lets you generate a sharp 
prolessional 3? or b4 character by 16 line upper and 

I lower case display on your tv screen or video monitor — 
dramatically improving your unexpanded $99 95 ELF II 
^^^ (Fits mside ASCII Keyboard cabinet ) $89 95 
■^^^ plus $? p&h 
I ^\. ELF II Tiny BASIC on cassette tape Com 



26 variables A Z LET. IF/THEN. INPUT PRINT GO TO 
GO SUB RETURN END REM CLEAR LIST RUN 
PLOT PEEK POKE Comes fully documented and in 
eludes alphanumeric generator required to display 
alphanumeric characters directly on your tv screen with 
out additional hardware Also plays tick tack toe plus a 
drawing game that uses ELF ll s hex keyboard as a toy 
stick 4k memory required $14 95 postpaid 

□ Tom Pittman s Short Course on Tiny Basic tor ELF II 
$5 postpaid 

ELF-BUG™ Deluxe System Monitor on cassette 
tape Allows displaying the contents ot all registers on 
your tv at any point in your program Also displays 24 
bytes ot memory with lull addresses blinking cursor 
and auto scrolling A must tor the serious programmer 1 
$14 95 postpaid 

□ Text Editor on cassette tape gives you the ability to 
insert delete or edit lines and words horn your programs 
while they are displayed on your video momior (Add 
printer and you can use ELF. II to type error tree letters 
plus insert names and addresses trom your mailing list ) 
$19 95 postpaid 

□ Assembler on cassette tape translates assembly 
language programs into hexidecimal machine code tor 
ELF II use Mnemonic abbreviations tor instructions 
(rather than numerics) make programs easier to read 
and help prevent errors $19.95 postpaid 



programs and produces assembly language source list 

mgs to help you understand and improve your programs 

$19 95 on cassette tape 

SAVE $9 90 Text Editor Assembler & Disassembler 

purchased together only $49.95! (Require Video Dis 

play Board plus 4k memory ) 

□ ELF II Light Pen. assembled & tested $7.95 plus $1 

p&h 

D ELF II Color Graphics & Music System Board kit 

$49 95 plus $2 p&h 

D ELF ll connects directly to the video input ot your tv 

set without additional hardware To connect ELF 1 1 to 

your antenna terminals instead order RF Modulator 

$8 95 postpaid 

Coming Soon AD DA Converter Controller Board 

and more 1 

Print 

Name 

Address 



City 
Stale 



Zip 



CALL TOLL FREE: 800 243-7428 

>AVL I OAD ♦ x - ( ) n Disassembler on cassette tape lakes machine code DEALER INQUIRIES INVITED 



software for computer telecommuni- 
cations that Les and Bob have devel- 
oped. They are marketing both the 
CBBS package and a terminal pro- 
gram written in 8080 assembly lan- 
guage for North Star and Micropolis 
systems. 

The personality projected by the 
system users is low key. This techni- 
cally oriented group provides a lot of 
comment on available hardware and 
software, some chess playing and gen- 
eral CBBS news. This is in contrast to 
some of the high-spirited exchanges 
you may find on other systems. 

When you leave this system, you 
can use a "G" to put a message on the 
local printer. Your comments to Les 
and Bob are welcome. 

TELENET 

TELENET is a national commer- 
cial packet-switched transmission sys- 
tem for data communications. It can 
presently support 56 kilobaud service. 
TELENET recently announced a spe- 
cial rate for noncommercial after- 
hours individual users that is poten- 
tially exciting. This after-hours ser- 
vice is available for only 75 cents an 
hour for the first 2000 packets. A 
packet is 128 characters, or one car- 
riage return. Additional packets are 
inexpensive. 

While individuals may use TELE- 
NET to talk together, I believe the 
most practical use is for local or re- 
gional CBBS operators to exchange se- 
lected messages between systems. 
Messages addressed to "ALL" with 
more than a local or system-wide in- 
terest can be placed on file with all 
CBBS's simultaneously. Speeds of 600 
baud or better (depending on modems 
and local lines) make this a quick ex- 
change that can probably be done au- 
tomatically. The classification of the 
CBBS as "individual" (as opposed to 
"mainframes," who must pay lots 
more) could be troublesome. Let's 
hear more on your ideas or experi- 
ences with TELENET. 

Listings 

If you run a CBBS or want to ex- 
change data calls on any subject, send 
me information about your opera- 
tion. Please include the time you are 
available and your system capabili- 
ties, and don't forget to include your 
phone number. Correspondence to: 
Frank J. Derfler, Jr., PO Box 17283, 
Montgomery AL 36117, or leave a 
message on the Atlanta CBBS: (404) 
939-1520. ■ 



50 Microcomputing February 1980 



RADIO SHACK COMPUTER OWNERS 
TRS-80 MODEL I AND MODEL II 




MONTHLY 
NEWSLETTER 



PRACTICAL APPLICATIONS 
BUSINESS 

GAMBLING • GAMES 
EDUCATION 

PERSONAL FINANCE 
BEGINNER'S CORNER 
NEW PRODUCTS 
SOFTWARE EXCHANGE 
MARKET PLACE 
QUESTIONS AND ANSWERS 
PROGRAM PRINTOUTS 
AND MORE 



PROGRAMS AND ARTICLES PUBLISHED IN OUR FIRST 12 ISSUES 
INCLUDE THE FOLLOWING: 

A COMPLETE INCOME TAX PROGRAM (LONG AND SHORT FORM) 

INVENTORY CONTROL 

STOCK MARKET ANALYSIS 

WORD PROCESSING PROGRAM (FOR DISK OR CASSETTE) 

LOWER CASE MODIFICATION FOR YOUR VIDEO MONITOR OR PRINTER 

PAYROLL (FEDERAL TAX WITHHOLDING PROGRAM) 

EXTEND 16 DIGIT ACCURACY TO TRS 80 FUNCTIONS (SUCH AS 

SQUARE ROOTS AND TRIGONOMETRIC FUNCTIONS) 

NEW DISK DRIVES FOR YOUR TRS 80 

PRINTER OPTIONS AVAILABLE FOR YOUR TRS 80 

A HORSE SELECTION SYSTEM***ARITHMETIC TEACHER 

COMPLETE MAILING LIST PROGRAMS (BOTH FOR DISK OR CASSETTE 

SEQUENTIAL AND RANDOM ACCESS) 

RANDOM SAMPLING***BAR GRAPH 

CHECKBOOK MAINTENANCE PROGRAM 

LEVEL II UPDATES***LEVEL II INDEX 

CREDIT CARD INFORMATION STORAGE FILE 

BEGINNERS GUIDE TO MACHINE LANGUAGE AND ASSEMBLY 

LANGUAGE 

LINE RENUMBERING 

AND CASSETTE TIPS, PROGRAM HINTS, LATEST PRODUCTS 

COMING SOON (GENERAL LEDGER, ACCOUNTS PAYABLE AND 
RECEIVABLE, FORTRAN 80, FINANCIAL APPLICATIONS PACKAGE, 
PROGRAMS FOR HOMEOWNERS, MERGE TWO PROGRAMS, 
STATISTICAL AND MATHEMATICAL PROGRAMS (BOTH 
ELEMENTARY AND ADVANCED) . . . AND 



-j*:£ WORD PROCESSING PROGRAM (Cassette or Disk) 

V* |>^ For writing letters, text, mailing lists, etc., with each new subscriptions or renewal. 

Of LEVEL II RAM TEST - 

Checks random access memory to ensure that all memory locations are working properly. 



SEND FOR OUR 36 PAGE SOFTWARE CATALOG (INCLUDING LISTINGS OF HUNDREDS OF TRS 80 PROGRAMS AVAILABLE 
ON CASSETTE AND DISKETTE). $2.00 OR FREE WITH EACH SUBSCRIPTION OR SAMPLE ISSUE. 



CQMPJTRQMCS 



(S^ATV^M^mCA*. AP^JCATTCTSG SERS/CE' 



I 

N 

C. «^C114 



Box 149 New City, New York 10956 

ONE YEAR SUBSCRIPTION $24 

TWO YEAR SUBSCRIPTION $48 

SAMPLE OF LATEST ISSUE $ 4 

START MY SUBSCRIPTION WITH ISSUE _ 




HOUR 
24 ORDER 

LINE 
(914) 425-1535 




(#1 - July 1978 • #7 - January 1979 • #12 - June 1979) 
NEW SUBSCRIPTION RENEWAL 



CREDIT CARD NUMBER 
SIGNATURE 



EXP. DATE 



NAME 



ADDRESS 



*** 



ADD $6/YEAR (CANADA, MEXICO) ADD $12/YEAR AIR MAIL OUTSIDE OF U.S.A., CANADA & MEXICO *** 



iS Reader Service index— page 241 



Microcomputing February 1980 51 






V 



«*!»<.. 



°* Rvs 



' '•. it. 












> f ^ 






m*t^*'* v 



\e 



U***° 



S°?*£* 



,****£"* 






be ° * B otoe^-° W '' 



,iw flS 



Sc ^e/ 



"6// 



Ca "on s 



Personal Information 
Management System 

For business and for pleasure. Increase your personal 
capabilities . . . save money . . . improve your ability 
to plan . . . locate important facts quickly. PIMS is a 
ready-to-use information (data base) management 
system for computers like the TRS-80, PET, etc. Have 
your computer manage tax deductions, department 
store charges, plan your day. Use it to keep your 
mailing list, do simple accounts receivable and pay- 
able. And much more! Includes easy-to-read manual 
and source listing. Written by the SCELBI staff. 

Only $9.95 No. 10 



Introduction to 

Low Resolution Graphics 

Now you can produce amazing computer graphics — 
even if you can't draw a straight line. Literally! Learn 
how to draw lines and shapes, make graphs, draw 
pictures and even do animations. The simple secrets 
of how to do all this are contained in this new book 
by Nat Wadsworth. You'll be able to produce a deck 
of playing cards ... a clown that winks ... a foot- 
ball grid . . . and an animated football game. Also 
tells how to synchronize computer-generated sounds 
to your illustrations. 

Just $9.95 No. 65 



Understanding Microcomputers 

Accepted as the standard! 300 page 
easy reading text. Explains exactly how 
a microprocessor works. Intro to pro- 
gramming in BASIC. Complete glossary. 
Just $9.95 No. 90 



Microcomputer Potpourri 

A pocket-size reference for the begin- 
ner and pro alike. Full digest on under- 
standing microcomputers. Data and dia- 
grams on all the popular chips. Glossary. 
Only $2.95 No. 70 



Learn Micro-Computers 

A new multi-media information package 
for the beginner. You get Understanding 
Microcomputers book plus high-quality 
cassette. Great for self-study. 
Just $14.95 No. 40 



UNDERSTANDING 
MICROCOMPUTERS 






MICRO 
COMPUTER 



^_ + i,yd 



^ *< 



Learn 
Micro 
Computers 

Brand N«w! 



f&rifri 



T«.!. 



VTU* 



POTPOURRI 



|C MIHI «<»♦« I 1 1 LI 



52 Microcomputing February 1980 



^»i*T* 



C»^ c 



tvl» A 



**± 



* ^ Q) 



\>" 






*ob1 












Q« 



r °<* 



"i T, 



O<* 



6S0; ; 



'^r, 



.*"» r/>, 



"*•».. 



*»r*o 






r '*'»^ 



( -'o, 



W 



•»fo, 



"•fee 






«%| 



*if/ 



">»*>< 



■>, 






*'«, 



«**;">«, 



<^ 






S« :>«<«.„ 



If '«c ( 



*"<'4f, 



Or,, 



'&». 



Isc *«r 



<*//, 



<*//, 



o/j s 



Calculating with 
BASIC 

Use your computer to calculate home mortgage pay- 
ments, interest rates, payback periods and more! 
Shows how to apply the BASIC language to practi- 
cal problems and equations. Covers the fields of 
mathematics, finance and statistics, mechanical 
engineering and electronics. For fun, the games 
of Hangman and Space Capture are provided. Written 
by Raymond Guido. Ideal for the businessman, 
scientist, engineer or student. Complete routines 
are worked out and ready for you to use. 

Just $7.95 No. 30 



Z80, 8080, 6800 & 6502 
Software Cookbooks 

There's one for each of these popular microprocessors. 
With the right SCELBI Gourmet Guide and Cook- 
book, you'll be able to put together programs without 
having to start from scratch. You'll have the most 
useful routines at your command — already program- 
med and ready-to-use. Search and sort routines. Many 
general purpose utility routines. I/O and interrupt 
programming. How to control and manipulate stacks. 
Code and numeric conversion routines. Plus more! 
For 6502, No. 99, $10.95; for 6800, No. 50, $10.95 
for 8080, No. 60, $10.95; for Z80, No. 75, $14.95 



Z80 Instruction Handbook 

Convenient pocket size guide to the 
powerful Z80 instruction set. Machine 
codes presented in octal and hex format. 
Instructions also indexed alphabetically. 
Only $4.95 No. 20 



Z80 

Instruction 

Handbook 






Free catalog 

10 pages of 
books for 
business or 
pleasure. 
No. AA 



Galaxy of 



^ S1 See SCELBI books at your favorite computer or 

electronics store, or use coupon for direct mail. 

I 

SCELBI Publications 

20 Hurlbut Street, Elmwood, CT06110 

IMPORTANT ORDERING INFO! Include $1.00 ship- 
ping/handling charges for each item. Prices shown are for 
North American customers. Master Charge, VISA, Postal 
and Bank Money Orders preferred. Allow 4 weeks for 
delivery. 



8 SCELBt PuWteatkms 



□ No. 10 DNo. 20 

□ No. 50 DNo. 60 

□ No. 75 DNo. 90 

Name (please print) 


□ No. 30 □ No. 40 

□ No. 65 DNo. 70 

□ No. 99 ONo. AA 


r an i No _ „ 


Rank Mr\ 

Addrass _ 


Fvp nato 


f^ty/State .,„ 


7ip 


Signature , , 


n«to 



tS Reader Service index— page 241 



Microcomputing February 1980 53 



Bargain-Basement '80 



Why pay $200 for Radio Shack's monitor? 



Russell W. Steele 
Creative Electronic Services 
838 Gayle Street 
Papillion NB 68046 



Shortly after Radio Shack in- 
troduced the TRS-80, I was 
sure it was the system for me. 
Impressed by its user-oriented 
configuration, with BASIC in 
ROM, standard typewriter key- 
board and modest price, I or- 
dered one as soon as I could. To 
save my limited cash for future 
peripherals, I only ordered the 
CPU keyboard, planning to 
modify a b and w TV to serve as 
the monitor. In this article, I 
would like to share with you 
some of the trials and tribula- 
tions of TV conversion and, at 
the same time, explain how I ac- 
complished the modification. 
My initial plan was to modify 



the old b and w TV collecting 
dust in my workshop while I 
waited for the computer to ar- 
rive. I soon abandoned this idea 
as the old set was full of hot 
tubes and high voltages. Rather 
than attack these problems 
head-on, I chose to buy a new 
solid-state set for my conver- 
sion project. 

Shopping around to find a 
bargain, I found a 9-inch RCA 
model AX095E on sale for under 
$100 at a local discount store. I 
had looked at sets that ranged 
from $69 to over $150, hoping to 
find one with a transformer 
power supply, but there were 
none available in the local area. 

Discussing the problem with 
several TV repair shop owners, I 
found out that most late-model 
sets do not have power trans- 
formers. The transformers are 
expensive, and at today's 




Photo 1. The TRS-80 with converted TV set on the workbench. 

(Photos by Jim Damman) 



prices, every penny counts. 

A power transformer or an al- 
ternative was essential to avoid 
hot chassis problems. In subse- 
quent weeks, I visited pawn 
shops and used-TV stores and 
searched the want ads in the 
morning paper, looking for a 
transformer-powered, solid- 
state TV set. I even posted a 
note on the office bulletin 
board. No luck! 

It was weeks later when I 
spotted the 9-inch b and w on a 
scratch and dent sale. It cost 
more than I had planned to pay, 
but it was designed to work on 
both 117 volt ac and 12 volt dc. 
By using a 12 volt CB power 
supply to run the TV set, I solved 
my isolation problems. Some- 
day, I'll install an inexpensive 
isolation transformer and re- 
turn the 12 volt power supply to 
its intended purpose. 

Two added benefits I hadn't 
anticipated were the TV set's 
color scheme and a convenient 
handle. As you can see from 
Photo 1, the TV's black and sil- 
ver case matches the TRS-80. 
The handle is not quite visible 
in the photo. 

Planning 

In the initial months after the 
TRS-80 was announced, there 
wasn't much technical data 
available about the system I/O 
ports. I wrote Radio Shack in 
Fort Worth requesting more 
technical data, and they an- 
swered my letter with a tele- 
phone call, only to say the infor- 
mation would come with my 
computer. I was beginning to 
think I would have to wait for 
the computer to arrive before 



starting the conversion. 

My confidence received a big 
boost when the first Radio 
Shack Microcomputer Newslet- 
ter arrived— it had some of the 
needed data. The video output 
is a 75 Ohm, 1.4 volt peak-to- 
peak non-interlaced signal with 
a 6 MHz bandwidth. Informa- 
tion on the input connectors 
was missing, but I now had 
enough data to start on the in- 
terface. 

A thorough review of Don 
Lancaster's TV Typewriter 
Cookbook produced more than 
enough information on how to 
build a direct video input circuit 
with a 5 MHz bandwidth. I high- 
ly recommend this book to any- 
one attempting to convert a TV 
set to a monitor. 

One of the first items on 
Don's conversion checklist is a 
complete schematic for your 
TV set. I found the AX095E in 
the Howard Sam Photo Fact- 
folder 1, Set 1526. Using the 
schematic and the information 
provided on page 190 of the TV 
Typewriter Cookbook, I laid out 
the circuit diagram shown 
in Fig. 1. Making sure the parts 
listed in Table 1 were on hand, I 



RCA Phonojack 


1 


Resistor, 470 


1 


Resistor 4700 


1 


Diode, 1N914or 




1N4148 


2 


Capacitor, 0.1 uF 


1 


Terminal Strip (4 Lug) 


1 


Shielded Cable 


26 in 


DIN Plug, 5 pin (Radio 




Shack 274-003) 


1 



Table 1. Parts list for modifica- 
tion. 



54 Microcomputing February 1980 



VIDEO AGC 
MODULE 



L405 




SHIELD CAN 




Fig. 2. The sound trap capacitor C431, 220 pF, is located next to 
coil L405 on the video AGC module. This coil and capacitor are not 
visible in the photos. 



started the modification. 

Construction 

First, lay the TV face down on 
a soft cloth to prevent any 
scratches on the screen and re- 
move the five screws holding 
the back of the cabinet. You will 
have to position the power-se- 
lection switch to "internal bat- 
tery" to remove the cover. Once 
the cover is off, locate the video 
AGC circuit board. It's the one 
next to the tuners on the left. 
This board is shown in Photo 2 
with the support bracket in 
place. The bracket is easily re- 
moved. 

I also removed the shield at- 
tached to the VHF tuner to give 
me more room to lift out the cir- 
cuit board. The board is held in 
place by clips at both ends. Use 



a long screwdriver to work the 
clips as you pull up on the 
board. 

With the circuit board re- 
moved, position it on the work- 
bench with the shielded box 
down. The two test points pro- 
truding through a shielded cover 
should be on top. Locate test 
point TP 403 (A in Photo 2) and 
resistor R424 (not visible) and 
carefully cut the trace between 
them at the base of the test 
point with a sharp blade. I used 
an X-acto knife to cut out a 
small section of the PC trace, 
leaving enough trace so that 
the circuit could be restored if 
you wanted to return the set to 
its original condition. 

Test point 403 now becomes 
the computer's video entry 
point. However, when the trace 



1st VIDEO AMP 




Photo2. Thevideo AGC board installed in TV set. "A" is test point 
T403 and the video entry point. "B" is test point T405. 



was cut, we removed the bias to 
Q406, the first video amplifier, 
which should be approximately 
2 volts. 

There are a number of solu- 
tions to this problem, but the 
easiest is to connect a 4700 
Ohm resistor from TP 405 (B in 
Photo 2) to TP 403, which re- 
stores the dc path for the bias 
voltage. Next, install a jumper 
across capacitor C431, the 220 



2nd VIDEO AMP 



L405 




> SOUND 



CIRCUITS ADDED- 
HEAVY BLACK 
LINE 



3300 



I OOO. 



-> VIDEO 



-> SYNC 



I8.95V 



T 



IN9I4 (2) 



O.ImF 

-)h- 



VIDEO 
INPUT 



470 



Fig. 1. Schematic of first video amp with video input circuit drawn in heavy black lines. 



pF ceramic next to the coil can. 
Fig. 2 shows its exact location. 
This disables the 4.5 MHz sound 
trap and improves the video 
bandpass. 

Building the video input cir- 
cuit is relatively easy. Strip 1 1/2 
inches of insulation from an 8 
inch piece of shielded cable. I 
used some audio cable, but any 
mini coax is OK. Solder the cen- 
ter conductor of this cable to 
TP 403 and the braid to the top 
of the large shielded box near 
the test point. This is illustrated 
in Photos 2 and 3. The other end 
will be connected to the video 
input circuit. 

This circuit is built on a ter- 
minal strip using the circuit 
shown in Fig. 1, in heavy dark 
lines, and the parts layout in 
Fig. 3. Note the position of the 
bands on the diodes when sol- 
dering them in place. These di- 
odes are placed in series with 
the 470 Ohm resistor to adjust 
the input bias to approximately 
1.2 volts. This bias adjustment 
is necessary to blank the screen 
when the video signal is not 
present. A 0.1 uF capacitor is 
placed across the two diodes. 

Lug A of the terminal strip is 
the common point for this cir- 
cuit. Both the coax shield and 



Microcomputing February 1980 55 





Photo 3. The video input jack and video terminal strip installed in Photo 4. Modified TV with a message generated by the TRS-80. 
the TV set. 



the input jack ground should be 
tied to this point when the ter- 
minal strip is in place. It is held 
in place by slipping the mount- 
ing lug under one of the video 
jack mounting screws. I used 
an RCA audio jack for the video 
jack. 

Photo 3 shows the location 
of both the video jack and the 
terminal strip. This jack is lo- 
cated approximately 1 1/2 
inches in from the edge of the 
case. It's centered on the flat 
portion as shown in Photo 3. 




TO INPUT 
JACK 



Fig. 3. Layout of the video in- 
put circuit on a four-lug termi- 
nal strip. Each lug is assigned a 
reference letter. See the text. 




PIN I - *5VDC (50mA) 
PIN 2- NO CONNECTION 
PIN 3- NO CONNECTION 
PIN 4- VIDEO 
PIN 5- GROUND 



KEY 



Fig. 4. The TRS-80 video output 
plug viewed from the rear of the 
TRS-80 keyboard. 



One note of caution when 
drilling the holes for the jack: 
The plastic is soft, and a large 
bit in a power drill will go 
through before you can stop it. 
Use a hand drill or drill a small 
hole and ream it with a sharp 
knife or other suitable tool. 
When you drill soft plastic, pa- 
tience has its rewards. 

With the video jack in place 
and the terminal strip posi- 
tioned, solder the video input 
cable center wire to lug D (Fig. 
3), and the shield to lug A. This 
shielded cable should now run 
from TP 403 to the terminal 
strip. Next connect the center 
contact on the audio jack to lug 
B and the ground to lug A. 
Check all connections and sol- 
der joints prior to installing the 
back cover. Double-check the 
circuit with the schematic in 
Fig. 1. 

The TV modification is com- 
plete, but I still needed some in- 
formation on the TRS-80 video 
output jack. I paid a visit to the 
local Radio Shack store hoping 
they could shed some light on 
the problem. It was a lucky day 
— for them and for me — as they 
had just received their first 
TRS-80. A quick check in the in- 
struction manual showed the 
video output plug to be a 5-pin 
DIN audio jack, part number 
274-003. Most stores carry this 
plug in stock. The pin connec- 
tions for the jack are shown in 
Fig. 4. This same information 
can be found on page 228 of the 



TRS-80 Level I user's manual. 

Using 18 inches of shielded 
audio cable, I put an RCA plug 
on one end and the DIN plug on 
the other. The center conductor 
goes to pin 4 and shield to pin 5 
of the DIN plug. With both 
plugs installed, the cable is 
now compatible with the com- 
puter and the monitor. 

Operation 

It was a family event the day I 
brought the computer home, 
but by the time I had unpacked 
it and had read all the instruc- 
tions, everyone had lost inter- 
est. With growing excitement, I 
hooked the TRS-80 to the con- 
verted TV set and turned them 
both on. 

At first, I had nothing but gar- 
bage on the screen. I turned it 
off and back on again and the 
garbage went away, but the let- 
ters were smeared. By adjust- 
ing the contrast and brightness 
controls, I was able to clear up 
the letters and produce a crisp 
display. 

Photo 4 shows the final re- 
sults on the screen of the modi- 
fied TV set. At this point, all 
work stopped until everyone in 
the family had played a game 
that comes with the computer. 
The project appeared to be a 
success. Now it was time to do 
some serious programming 
and find out if the TRS-80 would 
satisfy my long-term needs. 

Other Considerations 

In attempting a similar modi- 



fication, it's important you 
either avoid hot chassis sets or 
take the necessary precau- 
tions, as a severe shock hazard 
can exist when you use this di- 
rect-video-entry method de- 
scribed above. It's a 50-50 
chance the hot side of the pow- 
er line is hooked to the chassis. 
Even a three-prong plug won't 
protect you if the outlet you're 
using is not properly wired and 
grounded. 

I highly recommend an isola- 
tion transformer or separate 
power supply. Some of you may 
have observed the polarized 
plug on the Radio Shack moni- 
tor. The monitor has a hot chas- 
sis; however, it's isolated from 
the computer by a 6N135 opti- 
cal-isolator. 

Summary 

Using a b and w TV for a mon- 
itor can save you money; how- 
ever, I did not save as much as I 
had initially planned. Regard- 
less, I am satisfied with the 
results and have learned a 
great deal about the operation 
of my system, especially the 
video interfaces. I prefer the 9 
inch display over the larger 12 
inch TRS-80 display. The TV 
set's black and silver color 
scheme matches the keyboard 
console to create a profession- 
al-looking system. Given a 
choice, I would certainly 
choose this option, and, with 
the confidence I've gained, I 
plan some more interface modi- 
fications to my system. ■ 



56 Microcomputing February 1980 




HIGH SPEED CASSETTE SYSTEM 





Now the widely acclaimed 
JPC Cassette System is available 
for your TRS-80* computer. 
The price is only $69.95. 




FOR TRS-80 



The TRS-80* is undoubtedly one of the best 
small computers around. But its cassette re- 
cording system can be very frustrating, particu- 
larly if you can't read an important cassette. And 
getting the volume control set just right is really 
a pain. Waiting 45 seconds to load "Blackjack' 
is no fun either. 

J PC Products Company has developed an 
improved cassette system that uses your pres- 
ent cassette recorder but loads programs 5 
TIMES faster, with much better reliability. 

The original J PC cassette interface is the 
TC-3, which was developed 2 years ago for the 
M6800 computers. It has been very successful, 
as you can see from the magazine and owner 
comments below. Now we have a similar unit for 
the TRS-80*. At $69.95 plus shipping the TC-8 
is a real value. 

PRAISED IN REVIEWS 

"The JPC Products Model TC-3 cassette inter- 
face provides a VERY RELIABLE means of 
saving programs and data to tape .... both 
fast and reliable. The TC-3 is very convenient 
to use. The hardware is excellent .... The 
TC-3 is rated AAA because it is an excellent 
low cost alternative to a floppy disk system for 
the person on a tight budget." 

Product Review 
68' Micro Journal 
June 1979 



OWNERS LOVE IT 

"I love your interface. I have recommended it to 
all." D.O. (Florida) 

"Excellent! A poor man's floppy. Thanks." 

F.B. (Quebec) 

"It is great. I can't believe it's so fast." 

E.T. (Arkansas) 

"Great! Fast! Reliable! Worked first time!" 

C.Z. (New York) 

"It is the answer to my prayers!" 

S.S. (New York) 

"The best through-the-mail device I have ever 
purchased." J. P. (Florida) 



"I'm glad I bought this kit. Worked first time. 
Never one bad load." R.M. (New York) 

"The first kit I have ever built that worked the 
first time without any adjustment or trouble- 



shooting." 



F.L. (Colorado) 




INEXPENSIVE MEDIA 

The TC-8 and your present cassette recorder 
will allow you to store 50,000 Bytes on a stan- 
dard 10 minute cassette. Or 300,000 Bytes on a 
standard 60 minute cassette. At a cost of $1 to 
$3. Our C-1 data cassettes sell for $1 .39 with a 
money-back guarantee. 

PLUG IT IN 

The TC-8 plugs into the expansion connector 
on the back of the keyboard and does its thing 5 
TIMES FASTER! Less than ONE BAD LOAD in 
a MILLION BYTES! With the VOLUME CON- 
TROL ANYWHERE BETWEEN 1 AND 8. 

If you prefer you can leave the existing re- 
corder connected normally and add a second 
one for the TC-8. 

THERE'S A CATCH 

The TC-8 magic is mostly done in software. 
So you have to load a small program into the 
upper seven hundred bytes of memory. It is 
usually out of the way there. We provide the 
software on a cassette that comes with the 
TC-8. Just load it in. 

"TRADEMARK OF TANDY CORPORATION 



YOU CAN BUILD IT 

The TC-8 is available as a kit for $69.95 plus 
shipping. It is very easy to build. It should only 
take you an hour or so. Even if you have never 
built a kit before, you can build the TC-8. 

If you can get toothpaste on a toothbrush, you 
can learn to solder. Our instruction manual will 
show you how. 

"CAN'T FAIL" GUARANTEE 

If you build the TC-8 and for any reason it 
doesn t work, we will make it work at NO COST. 
All you have to pay is the shipping. We guaran- 
tee it. 

WE WILL BUILD IT 

The TC-8 is available fully assembled for 
$99.95 plus shipping. We ship assembled units 
3 weeks after we receive your order. But truth- 
fully, with our CANT FAIL guarantee, we don't 
understand why you wouldn't rather do it your- 
self. 

ORDER NOW 

To order your TC-8 kit. send your check or 
money order for $69.95 plus $3.50 postage and 
handling to JPC PRODUCTS CO.. 12021 
Paisano Ct., Albuquerque. NM 87112 (New 
Mexico residents add 4% sales tax). Credit card 
orders accepted by phone or mail. Personal 
checks will delay shipment. We will otherwise 
immediately ship you the TC-8 kit, the cabinet, 
the ribbon cable, the power adapter, an instruc- 
tion manual, and a cassette containing the 
software. 

At the present time, the only version of the 
TC-8 available is for 16K LEVEL II SYSTEMS. 




i^J15 



JPC PRODUCTS CO. 

Phone (505) 294-4623 
12021 Paisano Ct. 
Albuquerque, N.M. 87112 



v* Reader Service index— page 241 



Microcomputing February 1980 57 



Ralph E. Wynkoop 
PO Box 992 
Cerritos CA 90701 



Heath's H19: 

A Detailed Look 
at a Super Terminal 



Before terminating your search for a "glass" TTY, consider this beauty from Heath. 



HEATH 
M0DE = 

ESC A 
B 
C 
D 
E 
F 
G 
H 
I 
J 
K 
L 
M 
N 

Y 
Z 

ESC b 

J 
k 
1 

n 
o 
P 

q 

ra 

t 

u 

v 

w 

XA 

yA 

2 
ESC 



ANSI 
MODE 



ESC 



(jiA 
<t>B 
<j>C 
~4>D 
2j 



'H 
M 

J 
K 

Ul 

[♦M 

UP 
[4i 
[r,cH 

lj 

s 

u 

2K 

n 

IK 

7m 

m 

Br 

>6h 

>6£ 

?7h 

?7t 

>Ah 

>A«. 

Z 

4h 

?2h 

>7h 

>7Z 

>3h 

>3l 

2h 

2£ 

Lq 

P 



a 
6 
A 



SPECIAL KEY? 
t 



shift ERASE 

HOME 

ERASE 

IL 
DL 
DC 



TERMINAL ACTION 

CURSOR UP 

CURSOR DOWN 

CURSOR RIGHT 

CURSOR LEFT 

CLEAR DISPLAY 

ENTER "GRAPHICS" MODE 

EXIT "GRAPHICS" MODE 

CURSOR HOME 

REVERSE INDEX 

ERASE TO END OF PAGE 

ERASE TO END OF LINE 

INSERT LINE(S( 

DELETE LINE(S) 

DELETE CHARACTER(S) 

EXIT "INSERT CHARACTER" MODE 

DIRECT CURSOR ADDRESSING ( = line; c= column) 

IDENTIFY AS VT52" 

ERASE BEGINNING OF DISPLAY 

SAVE CURSOR POSITION 

SET CURSOR TO SAVED POSITION 

ERASE ENTIRE LINE 

CURSOR POSITION REPORT 

ERASE BEGINNING OF LINE 

ENTER "REVERSE VIDEO" MODE 

EXIT "REVERSE VIDEO" MODE 

MODIFY BAUD RATE 

ENTER "KEYPAD SHIFTED" MODE 

EXIT "KEYPAD SHIFTED" MODE 

WRAP AROUND AT END OF LINE 

DISCARD AT END OF LINE 

SET MODE (SEE TABLE 2) 

RESET MODE (SEE TABLE 2) 

RESET TO "POWER-UP" CONFIGURATION 

ENTER "INSERT CHARACTER" MODE 
ENTER "ANSI" (OR HEATH) MODE 
ENTER "ALTERNATE KEYPAD" MODE 
EXIT "ALTERNATE KEYPAD" MODE 
ENABLE "HOLD SCREEN" MODE 
DISABLE "HOLD SCREEN" MODE 
DISABLE KEYBOARD 
ENABLE KEYBOARD 
TRANSMIT 25th LINE 
TRANSMIT PAGE 

an optional number in ANSI mode. Specifies number of repetitions 
a mandatory number in Heath mode. Sets baud rate, 
a mandatory number in ANSI mode. Sets baud rate, 
a mandatory number in either mode. See Table 2. 



Table 1. Escape sequences. 



shift RESET 
IC 



Heath's incredible new video 
terminal, which should be 
of great interest to all micro- 
computer users, has finally 
been released. The assembled 
price of $995 is an outstanding 
value, but the kit price of only 
$675 will surely blow the socks 
clear off all the competition. In 
other words, the party is already 
over for that other new terminal. 

This highly sophisticated 
unit, the H19, is a Z-80-con- 
trolled intelligent terminal. It is 
loaded with many "most 
wanted" features, such as 
graphics, reverse video and 25 
lines of 80 characters, including 
a 25th status line. In addition, 
there are upper and lowercase 
with descenders, both line and 
character editing, direct cursor 
addressing and much more. 

Virtually all of its special func- 
tions can be controlled from the 
host computer or from the key- 
board of the terminal itself. This 
is done primarily with escape se- 
quences, and the H19 will 
recognize and respond to about 
100 of them (see Tables 1 and 2). 
The H19 will also generate 60 
single key sequences. Of these, 
20 perform some function within 
the terminal; the other 40 are 



58 Microcomputing February 1980 



available for definition and use 
in your programs (see Table 3). 
The H19 will also respond di- 
rectly to seven ASCII control 
codes (see Table 4). 

The keyboard (Photo 1) has 84 
keys and includes a calculator 
keypad. All 128 ASCII charac- 
ters and codes can be gener- 
ated, and the screen will print all 
95 ASCII printable characters. 
There are eight user-definable 
special function keys. Keyboard 
feedback is an audible keyclick 
that can be disabled (and re- 
enabled) with an escape se- 
quence. The cursor and editing 
controls are on the keypad, 
which has some interesting ex- 
tra features. 



formed on a 5 x 7 dot matrix, but 
those characters with de- 
scending tails are formed by a 
5x9 dot matrix. You can see 
this in Photo 3. Graphics sym- 
bols use a full 8x10 matrix. 

The H19 communicates with 
the outside world through its 
own standard EIA RS-232C seri- 
al interface. This means that 
you can use this terminal with 
just about any computer system 
available today and, in most 
cases, simply plug it in. I 
wouldn't be at all surprised to 
see it used with many different 
minicomputers, too. 

Special Features 

There are far too many 




Photo 1. The H19 keyboard. Notice the special function keys 
across the top. The squares on the three keys to the right are col- 
ored blue, red and gray. 



The cabinet deserves special 
mention. It is a fully profes- 
sional molded plastic case with 
a very high quality appearance, 
designed for both the business 
and home environment. The top 
is hinged, in clamshell fashion, 
and all components mount to 
the bottom part, so that you can 
operate easily with the top open. 
In fact, the hinges separate, and 
you can take the top off in about 
five seconds. Photo 2 shows the 
H19 open with its top cover 
removed. 

This versatile terminal will 
operate not only in the Heath 
mode and an ANSI mode, but 
will also directly replace and 
operate as a DEC VT52. This 
may explain some of the philos- 
ophy behind the excellent 
design of this unit. 

Most screen characters are 



special features to describe in 
this article, so I will cover the 
main ones of interest to micro- 
computer users. I will try to ex- 
plain them so that even an IBM 
engineer can understand. 

Cursor. The cursor can be 
either an underline or a full 
block. You can also turn it off 
completely. When on, it always 
flashes and is nondestructive. 
All of these choices may be 
preset by switches on the logic 
board, but may be changed at 
any time from either the com- 
puter or the keyboard. For ex- 
ample, to turn the cursor off, 
you would type "ESC x5." From 
the computer, you can accom- 
plish this by the BASIC state- 
ment PRINT CHR$(27);"x5." 

Graphics. There are 33 
graphics symbols available. 
You enter the graphics mode 




Photo 2. Overall view of the completed terminal with the top re- 
moved. Notice the open construction. The speaker is visible just 
behind the right side of the keyboard. Notice also the ribbon cable 
just behind the speaker that connects to the keyboard. The DIP 
switches are visible on the upper-right corner of the logic board. 



with the sequence "ESC F." In 
that mode, the keyboard will 
generate symbols instead of 
the usual letters. These sym- 
bols are not marked on the 
keys, so you will need to refer to 
your manual when working in 
the graphics mode. An "ESC G" 
will turn off the graphics. You 
can enter or exit this mode, and 
generate all symbols, from the 
host computer or from the key- 
board. 

Keyboard disable. This fea- 
ture can be convenient for a ter- 
minal that is on public display. 
Typing (or sending) the se- 
quence "ESC]" causes the key- 
board to go dead except for the 



reset. To reactivate the key- 
board requires an "ESC[" and 
you can no longer enter this 
from the keyboard, so it must be 
sent by the computer. 

Heath and ANSI modes. In 
the Heath mode, the terminal 
generates and recognizes 
Heath escape sequences. In 
the ANSI mode, ANSI standard 
escape sequences are used in- 
stead. There is no great dif- 
ference to the end user, but 
there are a few things you 
should know. 

In the ANSI mode, the 
graphics symbols are not 
available. However, many of 



HEATH ANSI 




MOPE I 


10DE 


EFFECT ON TERMINAL 


ESCxl ESC 


[>lh 


ENABLE 25th LINE 


x2 


">2h 


DISABLE KEY CLICK 


x3 


>3h 


ENABLE "HOLD SCREEN" MODE 


x4 


">4h 


BLOCK CURSOR 


x5 


">5h 


CURSOR OFF 


x6 


">6h 


ENTER "KEYPAD SHIFTED" MODE 


x7 


">7h 


ENTER "ALTERNATE KEYPAD" MODE 


x8 


">8h 


AUTOMATIC LF ON RECEIPT OF CR 


x9 


[>9h 


AUTOMATIC CR ON RECEIPT OF LF 


ESCyl ESC 


[>U 


DISABLE 25th LINE 


y2 


>2l 


ENABLE KEY CLICK 


y3 


|>3t 


DISABLE "HOLD SCREEN" MODE 


y4 


">42. 


UNDERLINE CURSOR 


y5 


■>5* 


CURSOR ON 


y6 


'>6z 


EXIT "KEYPAD SHIFTED" MODE 


y7 


">7£ 


EXIT "ALTERNATE KEYPAD" MODE 


y8 


[>8i 


NO AUTOMATIC LINE FEED 


y9 


\>9l 


NO AUTOMATIC CARRIAGE RETURN 


Table 2. S 


1ET-RESET functions from Table 1. 



Microcomputing February 1980 59 



Shown btlov is the 25th line capability. In this exaiple, it is siiply 
being used to label the top roy of Keys, all of vhich are control or special 
function keys, The prograiier can use this line for any desired function. 

The 25th line is not affected by the norial control keys. In fact, it 
acts as a separate one line terminal. 

Hotice that the cursor is not visible in this photo. That is because 
it has been turned off froi the keyboard. 

Notice also the "descending tails" on the appropriate lover case letters, 
such as the "y" and "g", and on the coiias. 



Photo 3. CRT screen showing the 25th line. Notice the clean characters, due to the wide bandwidth of 
the video circuits. 



the ANSI cursor control and 
editing functions are more 
sophisticated. For example, to 
move the cursor nine spaces to 
the right, you could type the 
"-*" key nine times in either 
mode. If you want to do this 
from the computer and you are 
in the Heath mode, you must 
send "ESC C" nine times. In the 
ANSI mode, however, you can 
send "ESC [9C" once, and the 
cursor will move nine spaces 
right. 

You can have the best of both 
worlds, though, because an 
escape sequence causes the 
switch between modes. This 
means that you can first switch 
to whichever mode you want, 



then use its special functions, 
all under control of the host 
computer. Having both of these 
modes simply allows the ter- 
minal to be used with more dif- 
ferent systems and software. 

Special function keys. These 
eight keys, located along the 
top of the main keyboard, sim- 
ply generate an escape se- 
quence as shown in Table 3. 
Each key will automatically 
transmit one of two sequences, 
depending on whether you are 
in the Heath or the ANSI mode. 
These keys can be very useful, 
as your programs can be writ- 
ten to recognize the transmit- 
ted sequence and then perhaps 
branch to some special routine. 



KEY 




HEATH 


ANSI 


TYPED 




MODE 


MODE 


fl 




ESC S 


ESC S 


f2 




ESC T 


ESC T 


f3 




ESC U 


ESC U 


f4 




ESC V 


ESC V 


f5 




ESC W 


ESC W 


Blue 




ESC P 


ESC P 


Red 




ESC Q 


ESC Q 


Gray 




ESC R 


ESC R 







ESC ? p 


ESC p 


1 




ESC ? q 


ESC q 


2 




ESC ? r 


ESC r 


3 




ESC ? s 


ESC s 


4 




ESC ? t 


ESC t 


5 




ESC ? u 


ESC u 


6 




ESC ? v 


ESC v 


7 




ESC ? w 


ESC w 


8 




ESC ? x 


ESC x 


9 




ESC ? y 


ESC y 






ESC ? n 


ESC n 


ENTER 




ESC ? M 


ESC M 


Table 3. Escape sequences generated by the special function 


keys and by the 


number keys on the keypad when it is in the 


Alternate Keypad mode. 







If these 16 sequences are not 
enough, you can get 24 more 
from the keypad, as described 
below. 

Keypad. As previously men- 
tioned, the keypad also has the 
cursor controls and editing 
functions. As you can see in 
Photo 1, the numbers are the 
primary function, and you must 
use the shift key to get the 
editing and cursor controls. If, 
however, you use the cursor 
controls, say, more than the 
numbers, the Heath engineers 
have made things easy for you. 

A Keypad Shifted mode is in- 
cluded, and in this mode, the 
keypad is electronically shifted 
for you. Now the cursor controls 
and editing keys become the 
primary function of the keypad, 
and you must use the shift key 
to get the numbers. You can set 
a switch on the logic board, so 
that the terminal will power up in 
this mode. But no matter where 
this switch is positioned, you 
can still change modes from the 
host computer or from the 
keyboard at any time. You may 
have guessed that this is done 
with an escape sequence. 

There is still more to the 
keypad, however. You will recall 
that I mentioned that more 
escape sequences are available 
from the keypad. This is done by 
going to another mode, the 
Alternate Keypad mode. This 
mode eliminates the numbers 
from the keypad and, instead, 
will transmit preprogrammed 



escape sequences. These se- 
quences are shown in Table 3. 
Note that the cursor control and 
editing functions are not af- 
fected by this mode. In addition, 
the Keypad Shifted mode can 
still be used. 

The Alternate Keypad mode, 
as you probably know by now, is 
enabled and disabled by an 
escape sequence. There is no 
switch on the logic board for 
this function, so it must always 
be entered with an escape se- 
quence. 

Screen erase. Sorely missed 
by H9 (and many other) terminal 
users is a simple erase screen 
function. This terminal has cor- 
rected that problem very simply. 
Typing ESC E will clear the 
screen and send the cursor 
home. This can also be ac- 
complished by typing shift 
ERASE, but best of all, the 
escape sequence can be sent 
from the computer. It is no 
longer necessary to send 12 (or 
24) line feeds to clear your 
screen. 

Configuration switches. 
Throughout this article, I have 
mentioned switches on the logic 
board that can preset certain 
functions. This is accomplished 
by two DIP switches, whose 
functions are listed in Table 5. 
The important thing about these 
switches is not so much what 
they do, but how they do it. They 
preset the "power up" mode of 
operation only, in most cases. 
That is, they preselect certain 
modes of operation, so that 
when you turn the terminal on, it 
will be in that selected mode. 

For example, if you usually 
operate in the Keypad Shifted 
mode, you can preset this on a 
switch so that you do not have 
to type the escape sequence 



Control G Bell 

H Backspace 

I Horizontal tab 

J Line feed 

M Carriage return 

X Cancel 

[ Escape 



Table 4. ASCII control codes 
to which the H19 will respond 
directly. Note that the proper 
software can allow the ter- 
minal to respond to many 
adcfitionaf codes. 



60 Microcomputing February 1980 



EXTRA SPECIAL 

Prices & Delivery 



CAT MODEM 

Open up a whole new world of 
data and program exchange over 
the telephone. Allows one computer or 
terminal to talk to another. Can communicate 
with any Bell 103 compatible modem. RS232 
interface and TRS 80 compatible 



NOVATION CAT ACOUSTICAL MODEL (300 baud»!T$ 189.00 



DISK DRIVES 

RTEC &%" disk drives for TRS-80 (Flippy Disk) .... $359.00 
This drive gives you 40 tracks of storage versus the 35 track 
Radio Shack drive. The Pertec drive also has the flippy 
disk feature. When you have filled one side of the diskette, 
flip it over and use the other side. 

Cable $ 29.50 



COMPUTERS 

SUPERBRAIN I32KI $2945 <64K) $3295 

Superbrain The most cost effective machine on the market 
today. Intertec has combined their excellent video terminal with 
a sophisticated Z-80 computer and has come up with a totally 
integrated package. This beauty includes a 4MZ Z-80 computer 
system, 2 double density Mini- Floppies with 320K of disk storage, 
64K of RAM memory, CP/M disk operating system with 
utilities, and a complete 80 character X24 line video smart ter- 
minal. This machine boasts two Z-80 processors to handle pro- 
r cessing &■ I/O. A serial and parallel interface for the I/O is 
included. A S 100 edge connector is provided, so upgrading to 
10-300 MB hard disks is available. If you need more info, call us. 



TERMINALS 



INTERTUBE II BY INTERTEC $ 797.00 

(Terminal) Z-80 controlled, 80 Char, by 24 lines, 128 upper and 
lower case, ASCII Char., graphic symbols, reversible video, half 
intensity video, special 25th display (status) line, 12" screen, 
operating mode: conversational, message, page. Char, insert/ 
delete, line insert/ delete, half or full duplex, keyboard with 18 
key numeric pad, full cursor control, RS232 and 20/60 Ma loop 
auxiliary printer port, 75-9600 baud and a lot more special 
features all software controlled, no little mini-dip switches 
to bother with. 



PRINTERS 

TEXAS INSTRUMENTS PRINTER *810 (Up & low case) $1689.00 

The Paper Tiger is Here! 

m -■ •% 









*j€ 



m* 



Up to 198 characters per second 

132 columns 

6 or 8 lines per inch 

Eight software selectable character sizes 

1.75' to 9.5' adjustable feed. 

Parallel (Centronics) and serial interface. 



PAPER TIGER 

W/Graphics Option 



. . . . $899 
$1125.00 



VtSA 



Checks, money orders accepted 

Add $2.50 freight charges on orders under 10 lbs. 

Over 10 lbs. F.O B. Cleveland 



master charge 



QUASAR DATA PRODUCTS "™ 

25151 Mitchell Dr.. No. Olmstead, Ohio 44070 (216)779-9387 



PASCAL/M 

A CP/M* COMPATIBLE PRODUCT 



TM PASCAL M is an implementa 
tion of the Standard Pascal 
programming language de 
signed by Niklaus Wir»n 



PASCAL/M does all Input/output and file manipulation via calls 
to CP/M. The file Interface intrlnslcs were chosen to promote Pas- 
cal program transportability and to piovlde a bridge between 
CP/M and the Standard Pascal language definition. In selecting 
and defining extensions to PASCAL/M, heavy weight was given 
to compatibility with other existing Pascal Implementations. 
Over 40 extensions to Standard Pascal support: 



Console Cursor 
Controls 

Type String 

Untyped files (for 
memory image I/O) 



Segment procedures (memory 
sharing) 

String and Character procedures 
to support Insertion, deletion and 
replacing of character data. 



PASCAL/M provides single precision floating point (Type Real). Both 
integer (16 bit) and long integer (32 bit, 9 digit) arithmetic are sup- 
ported. An optional version will support the AMD 95 11 A or the Intel 
8231 math chips. 



*CP/M is a trademark of Digital Research 



AVAILABLE VERSIONS 
CP/M Typ« CPU Typ» Disk Sll* 



1.4 
1.4 

Cromtmco 
CDOS 

Northstar 2D 
(lifeboat) 
2.0 
2.0 

MP'M 1 O 
MP/ M 1 O 



8080/S5 

zso 
zso 



8" 
8" 



ZSO 3-1/4" 
8080/85 S" 

ZSO 8" 

SOSO/85 8" 

ZSO 8" 



PASCAL/M requires 56K RAM 
and one floppy disk. The package 
includes diskette with P Code 
Compiler, Interpreter, and Run- 
time Library; Pascal User Manual 
and Report by Jensen and Wirth; 
and PASCAL/M User's 
Reference Manual. The cost is 
$350. For manuals only - $35. 
Oealer inquires welcomed. 
Visa/MC. 

2670 Cherry Lane 

Walnut Creek, 
CA 94596 

(415)938-2880 



Digital 
Marketing 



^D63 



WILL IT HAPPEN THIS TIME? 

. . .no one knows! As you move to the switch 
you hesitate, then press the button. It's there! 
WILD BALL flashes on your screen and your 
speed-controls lock. The point counter jumps 
to 500 and play begins! The computer reacts 
coolly to each move. . .but as the ball slowly 
accelerates to top speed, can you remain as 
calm? 

COURTBALL, a new action game for the 
TRS-8CT, lets you find out! 
COURTBALL includes: 

• A practice version offering 1 levels of 
difficulty. 

• A tournament version offering 5 goal 
types, 9 pre-programmed and 1 user- 
defined obstacle types, 3 levels of 
difficulty and tournament scoring. 

• Both, levels include player controlled 
continuously variable ball speed, 
super-fast machine language graphics, 
bonus points, computer opponent 
capability, and WILD BALL condition. 

Written for the level 2, 1 6KTRS-80' 1 ' computer, 
COURTBALL is being offered at the special 
low price of $7.95 plus $1 .00 postage and 
handling. (Pa. residents add $0.54 sales tax.) 

Send a check or money order today to: 

MARANATHA SOFTWARE 

74 Park Ave. 

Chalfont, Pa. 18914 »^mi3o 



iS Reader Service index— page 241 



Microcomputing February 1980 61 




each time you start the system. 
Of course, you can always over- 
ride the switch from the key- 
board if you want to change 
modes during operation. This is 
done with the-normal escape se- 
quence. 

Reverse video graphics. The 
reverse video function works not 
only on the standard ASCII char- 
acters, but also on the graphics 
symbols. This effectively gives 
you 66 available symbols. 

Hold screen mode. Many 
times you have had more than 
one page of data to display on 
your terminal, and when you are 
operating at high baud rates, the 
lines pass by too fast to read. 
Most terminals solve this with 
the CNTRL S function, which 
stops input until you type 
CNTRL Q. The H19 has that too, 
but it has something even bet- 
ter. It is called the "Hold 
Screen" mode, and when en- 
abled, the terminal will accept 
data until the screen is full and 
then stop. It automatically 
sends CNTRL S to the computer 
for you. 

When you are ready for more 
data, you can get one line at a 
time or one page at a time. Typ- 
ing the scroll key will give you 
one new line each time you type 
it. Typing shift SCROLL will give 
you one new full page. You can 
continue this until there is no 
more data to view. 

25th status line. The 25th line 
acts as s separate one-line ter- 



Photo 4. Kit parts before assembly. 



minal. It can show terminal sta- 
tus or other information as 
desired by the programmer. To 
use this line it must first be 
enabled with an escape se- 
quence (what else?), and then 
the cursor must be sent to the 
25th line with direct cursor ad- 
dressing. Photo 3 shows this 
line in use. You must also use 
direct cursor addressing to get 
the cursor back out of this line, 
except that you can use the 
HOME key if you want the cur- 
sor at home. 

There is an additional conve- 
nient feature connected with 
this operation: While still on the 
main screen (the upper 24 lines), 
an ESC j will cause the termi- 
nal to remember the current cur- 
sor position. After you have then 
gone to the 25th line and are 
ready to return, an ESC k will 
send the cursor back to the pre- 
viously remembered position. 

Construction 

You can usually get a pretty 
good idea of the complexity of a 
kit by the difference between 
the kit price and the assembled 
price. In this case, you are great- 
ly misled. Assembly is simpler 
than the price difference of $320 
seems to indicate. Photo 4 
shows the parts before assem- 
bly. The pre-assembled logic 
board is at the left rear; the par- 
tially assembled keyboard is at 
the right rear. Particularly notice 
the small stack of loose wire 



just in front of the logic board. 
That is all the wire needed. 

Construction is to the point 
and very easy. Total assembly 
time takes about eight hours, 
which includes some extra time 
for things that I do to save 
myself later trouble. For exam- 
ple, I scrape all the way around 
the leads of all components, 
particularly transistors, with a 
penknife. This cleans them, and 
they then solder very easily, 
almost instantly. Much less 
heat is needed to apply to the 
component, and I have not had 
one "bad" transistor since I 
started using this technique. 

There are only four circuit 
boards, and one of them, the 
logic board, comes completely 
assembled. Another, the key- 
board, comes partly assembled. 
You add 24 keys and the board 
connector and then solder 
everything. Veterans of the H9 
campaigns will be happy to 
know that the keys here are not 
the same. You can see them in 
Photo 4, just in front of the key- 
board. They come in blocks and 
install very simply. Incidentally, 
the keyboard terminates in a 
standard 34-pin connector, and 
Heath has supplied a pre- 
assembled ribbon cable to con- 
nect your keyboard to the logic 
board. Total assembly and con- 
nection time for the keyboard is 
about thirty minutes! 

The remaining boards are the 
power supply and the video 



board. The power supply, the lit- 
tle one in the right foreground of 
Photo 4, assembles in about 
thirty minutes. The video board 
takes about three hours. 

Perhaps the best part is that 
there is an absolute minimum of 
point-to-point wiring. The kit 
comes with some brown, some 
green, some black and some 
bare wire. The brown wire is all 
used up in running two wires to 
the speaker. The green is only 
for the ac line grounds; the bare 
wire is mostly for a safety 
ground for the CRT. 

There are maybe a half dozen 
jumpers here and there, 
and then all that is left is about 
three feet of black wire that is 
used to hand-wire the ac line to 
the power transformer. The 
setup is similar to the H8 com- 
puter in that there is a switch to 
select 1 10/220 volts and another 
for NOR/LOW voltage. The simi- 
larity ends there, however, and 
you will like the way the ac wir- 
ing is done on a separate sub- 
panel. This panel then mounts 
neatly inside the rear of the 
main cabinet. The two switches 
remain accessible from outside 
the cabinet. 

There is only one wire har- 
ness, which is almost complete- 
ly assembled, including plugs. 
You will only have to solder four 
wires from this harness to the 
filter capacitor. 

Photo 2 shows the assembled 
terminal, and you can see the 
open, uncluttered design. This 
unit is a pleasure to put togeth- 
er. The completed H19 is shown 
in Photo 5. 

Operation 

Operation of the terminal pre- 
sents no special problems, but it 
will take you a few days to get 
used to the multi-key escape se- 
quences. A background as a 
concert pianist may help you 
here. 

You will at first make a few er- 
rors between upper and lower- 
case, too. ESC J is not the same 
as ESC j. But the keyboard is of 
excellent design, and in just a 
few days you will find that you 
have become a veritable vir- 
tuoso of the keys. 

Before starting, you must set 
up \he \erm\na\ tor \ine frequen- 
cy, baud rate, desired parity con- 



62 Microcomputing February 1980 



figuration and full or half duplex 
operation. All other options may 
be set after start-up. If you are 
using a Heath computer system 
and have the H8-4 serial board, 
you do not need to set the baud 
rate. This is because the H8-4 
board, in conjunction with the 
Heath software, will automati- 
cally operate at whatever baud 
rate has been set on your ter- 
minal. The H19 will operate at 
any standard baud rate up to 
9600. 

If you have been using the H9 
terminal from Heath, there is 
one difference that is quite im- 
portant. There are only a couple 
of local function keys on the 
H19. In other words, nearly all 
keys will send a code to the 
computer. If you forget this, it 
will cause you all sorts of 
mysterious syntax and other er- 
rors. You can inhibit the sending 
of codes by holding down the 
CTRL (control) key, and you 
must remember to do this when 
doing screen erases and other 
terminal functions. You will 
probably forget this a few times, 
and you will wonder what hap- 
pened to your BASIC program. 

Software Notes 

To use all the fascinating 
features of the H19, you will 
need an extended BASIC with a 
CHR$ function. With this func- 
tion, you can send any escape 
sequence to the terminal and 
make it do almost anything. 

Unfortunately, the editing fea- 
tures are not usable with pres- 
ent-day software. Heath is work- 



ing on a word-processing pro- 
gram that should be available 
soon. It was partially demon- 
strated at the NCC in New York 
last June and was impressive. 

The problem with software is 
that the escape sequences gen- 
erated by the terminal are not 
recognized by the program. If 
you try to use the editing func- 
tions while you are in BH BASIC 
orTED-8, you will cause all sorts 
of peculiar errors In your pro- 
grams. This usually doesn't 
cause much anguish because 
most of your escape sequences 
will be sent the other way, that 
is, from the computer to the ter- 
minal. This is done with the 
CHR$ function. 

Naturally, if you are an ex- 
perienced assembly- or ma- 
chine-language programmer, 
then you can write your own 
software and take full advan- 
tage of all of the features of the 
H19. 

The Negative Side 

This terminal has a few short- 
comings. In order to keep the 
cost low, Heath has left out 
some popular features such as 
blinking characters, protected 
fields, half-intensity video and 
auto-repeat keys. Some func- 
tions are more complex than 
they were on the H9, too. 

For example, the screen 
erase was a single-key function 
on the H9 and was also a local 
function. That is, it sent no 
codes to the computer. The H19 
also has an erase key, but 
it is an "erase" to end of 



S401-0 
-1 
-2 
-3 
-4 
-5 
-6 
-7 



S402-0 
-1 
-2 
-3 
-4 
-5 
-6 
-7 



Sets baud rate 



Enable/disable parity 
Odd/even parity 
Normal/stick parity 
Half/full duplex 



Underscore/block cursor 

Enable/disable key click 

Discard/wrap-around end of line 

Enable/disable auto line feed on carriage return 

Enable/disable auto carriage return on line feed 

Heath/ANSI mode 

Enable/disable "Keypad Shifted" mode 

50/60 Hz 



Table 5. Functions of the two 8-pole DIP switches on the logic 
board. Note that these switches merely set the power-up con- 
figuration, and most functions may be changed at any time 
from the computer or from the keyboard of the terminal. 



page, which sends an escape 
sequence to the computer. You 
can change it to an "erase 
screen" by holding down the 
shift key, and, of course, you 
must also hold down the CTRL 
key as mentioned earlier. So 
now it takes three keys to do 
what one did before. And that 
key was used so often, too. Oh 
well, it's not uncommon to lose 



who really know their stuff. 

Of course, the manual for 
this terminal, like all Heath 
manuals, is outstanding. 

Summary 

Although there are a few 
things not included in this termi- 
nal, there is no doubt that it is by 
far the best value available to- 
day. There are a number of ter- 







Photo 5. The completed terminal. 



something when you buy a bet- 
ter peripheral from Heath. (Stop 
me if you've heard this one- 
buy a disk, lose your expensive 
tape.) 

Other Considerations 

In buying any product of this 
sort, particularly in the micro- 
computer field, you should 
carefully consider the company 
that makes the product. De- 
spite the few stones I have cast 
in their direction, Heath is a 
well-known, stable company 
that makes high-quality prod- 
ucts. They have been around 
for years, and should be here 
for many more. 

They are justifiably famous 
for at least two things: their 
customer support and their 
manuals. Their technical con- 
sultant program is an excellent 
example of the first. If you have 
any problem with a Heath prod- 
uct, you can call a consultant, 
who will assist you. In the early 
days of this program, it wasn't 
a lot of help, but things have 
changed now. The lines are 
manned by some consultants 



minals made just for the micro- 
computer market, some costing 
nearly $1500, that are all inferior 
to the H19 in features, price or 
both. 

Assembly is so easy that I 
wouldn't hesitate to recommend 
this kit to the first-time builder. 
As long as you use a pencil iron 
of no more than 40 Watts and re- 
ceive a little instruction on 
soldering, you should have no 
trouble putting this kit together. 

If you run into any problems, 
not only are the Heath con- 
sultants available, but also your 
local Heathkit center is usually 
very helpful. In my area, the 
Heath store in Anaheim has 
been outstanding, both to me 
and to others, in helping with 
any problems that have arisen. 
They are never too busy to give 
you a few minutes and answer 
questions or help you with 
whatever you need to get you 
going again. 

In conclusion, I think that If 
you have recently bought, or are 
about to buy, a terminal that 
doesn't say H19 on it, you have 
made a serious mistake. ■ 



Microcomputing February 1980 63 



PART OF AC-30 PC BOARD 



PREAMPLIFIER 



Improve 
Your 

AC-30 




AUDIO INPUT 



Fig. 1. Circuit modification. 



D-ANY SMALL SILICON-TYPE DIODE RECTIFIER 
G- CONNECTION TO GROUND (FOIL SIDE) 
X- BREAK IN FOIL "AUDIO INPUT" 



Riemer Runia 
Dr. Peter Vijlbrief 
Dept. of Radiology 
University of Leiden 
The Netherlands 



The SWTP system is quite 
popular in Holland. But we 
have met several people who 
have found difficulties in match- 
ing their recorders to the input 
side of the AC-30 cassette inter- 



face. This interface needs 4 to 5 
volt peak-to-peak undistorted 
audio. And this value proved to 
be rather critical. 

So we added an extra audio 
stage, which proved to be a 
great improvement. It amplifies 
the recorder output about 60 
times and acts as a limiter for 
too large signals, so the volume 
setting of the recorder is not 
critical anymore. 

We mounted this preamplifier 
on a small piece of vectorboard. 



On this same board, we also 
mounted the two diodes and ca- 
pacitors used to filter the dc 
coming from the AC-30 printed 
circuit foils. We used a thick 
copper wire for the ground con- 
nection (bottom side of the 
AC-30 print), which also serves 
as a mounting support for the 
whole preamplifier board. Four 
other wires connect the pream- 
plifier board to the main print. 

The raw ± dc are taken from 
two printfoils running from the 



rectifiers on the main board. A 
foil break is made in the audio 
input circuit, and both ends are 
connected to the input and the 
output, respectively, of the 
preamplifier. Fig. 1 shows how 
this is done. 

The preamplifier is built 
around a 741 operational ampli- 
fier. The diodes across the + 
and - inputs serve as protec- 
tors for too large audio input 
signals that may damage the 
operational amplifier.! 




• F(ast) F(ourler) T(ransform) 

• Digital Filter Simulation 

• Linear and Exponential Curve Fit 

• Disk or Cassette Data & Results Files 

• Interactive Graphics 

■ Having this set of interactive programs in 
your hands is a learning experience in digital 
signal processing. 

■ Learn by doing. Documentation includes 
multiple examples. Balance your checkbook 
with a digital filter (can you believe it?). Plot 
daily stock market values and their comput- 
ed trend lines. Find the frequency response 
of a digital filter. Illustrate Nyquist sampling 
theorem. Perform spectral analysis on any 
waveform (FFT). 

■ This sophisticated software, written by a 
professor and consultant in the digital pro- 
cessing field for use in teaching and 
research, is written in basic for ease of user 
understanding and modification. Runs in 
a minimum 16K cassette system having 
expanded capabilities when used with disk 
and printer systems. 

FFT-80 DISK $30.00 

FFT-80 CASSETTE $25.00 

ixD61 

3667 Montalvo Way 
Santa Barbara. CA 93105 
Tel (805) 682-1270 



^Ok 



EDUCATIONAL SOFTWARE 




*TRS80 


Math Package 1 14.95 


Math Package II 14.95 


Sets & Numbers 


Fractions 


Place Value 


Decimals 


Number Strings 


Factoring 


Math Drill 


Metric Blackjack 


Division Drill 


Metric Roadrunner 


Speed Drill 


Bagels Math Game 



Business Package I 14.95 

Accounting Tutorial I 
Accounting Tutorial II 
General Ledger 
Depreciation 
History & Geography 14.95 
Revolutionary War Quiz 
Regions of the U.S. 
States & Capitals 
Presidents 



Education Package II 14.95 

Change Maker 
Hangman 
Name that Letter 
Kingdom 
Animals 



Business Package II 14.95 

Annuities 

Loan Amortization 

Bank Reconciliation 

Stock Market Simulation 
Education Package I 14.95 

Cell Simulation 

Survival of Fittest 

Economy Simulation 

Projectile Motion 

Plot 

Reading Analysis 
Games Package 14.95 

Battleship 

Birthday Analysis 

Concentration 

Football 

4x4 Tic-tac-toe 



J 



Similar Packages Available For The 8K *PET 

Write for Free Catolog 

Micro Learning Ware 

Box 2134 

N Mankato, MN 56001 *^ M133 

507-625-2205 

*TRS 80 Trademark of Tandy Corp. 

"PET Trademark of Commodore business Machines 



tm 



T-BUG USER: 



Super TLEGS: Onboard relocator for T BUG, moves T BUG to any 
desired RAM location. Now examine, modify, # P punch backup 
copies of formerly coincident program material, experiment with 
parallel kustom T BUGs. Also will relocate TSTEP. 
1 6K Level II Super TLEGS No. LLO 9.95 

TSTEP: Single stepper for T BUG Displays all CPU aspects 
related to instruction set as you SPACE through ROM or RAM. 
Indispensible for debugging, analyzing alien program material or 
learning Z 80. 

a) CPU registers in before/after # R like format, user accessible, 
independent of T BUG registers. 

b) Testable flag status in before/after format 

c) Top stack elements in before/after format. 

d) 8 key Implicit Keypad. Backspace, CLEAR, more. 

Subroutines can be single stepped or run directly, control 

remaining with TSTEP. Also, Super TLEGS will relocate TSTEP, 

making monitor and single stepper into an independently 

relocatable unit Confirm any code by seeing what you are 

imagining. 

1 6K Level II TSTEP No. LL 1 1195 

EMU 02: Software emulation of the 6502 microprocessor. 
T BUG displays byte, EMU takes it from there. Now you can 
write, debug, execute 6502 programs on your TRS-80! 

a) Disassembler posts standard 6502 Assembly mnemonic 
next to T BUG displayed byte, in scrolling field 

b) Single stepper displays 6502 Processor Model in 
before/after form, expanded flag and stack elements, all up 
dated after each instruction is SPACE ed 

c) 4 speed TRACE mode animates 6502 Models, activates 
keyboard scan port accessible to 6502 instructions. 

d) Fast interpretive RUN mode for realistic execution 

e) 13 key Implicit Keypad, Backspace, Relspace, more 

How to have a 6502 without having a 6502! Compare and 
contrast, work in a powerful programming language that is 
distinct from BASIC. Z 80 Read Apple. PET code. 
16K Level II EMU 02 No. BL 1 $24.95 

.75 mailing each program, CA add 6% 
ALLEN GELDER 
Box 1 1 721 Main Post Office 
San Francisco, CA 94101 




T BUG. TRS 80 tm Radio Shack/Tandy Corp. 



^G34 



64 Microcomputing February 1980 



ATTENTION TRS-80* OWNERS 

At last! An attractive home for all of the parts of 
your system — keyboard, video display, power 
supply, and, last but not least, the cassette. The 
TRS-80* performs as a computer — Now it can 
look like one. 




Classic black and silver color scheme to match 
your TRS-80*. Now your system can be portable 
without dismantling. The cassette recorder can 
easily be used along side the case and then con- 
veniently stored in the side opening without dis- 
connecting. 

Send check or money order for $69.50 plus $5.00 
for shipping to: 



Michigan residents add 4% sales 
tax.) Visa and MC accepted with 
signature, exp. date, and number. 

•TRS-80 is a Product of Radio Shack 



2b, 



] eSianco 

Dept. I A " 

P.O. Box 307 
Union MI 49130 
616-641-5956 



i^D47 



Here an APPLE 

There an 

APPLE 

Everywhere an 

APPLE! 
APPLE! 





AND GET A LOAD OF 
THIS DEAL! 

WITH EVERY PURCHASE OF AN 

APPLE II-16K 

00 



»^C64 



MASTER CHARGE ft VISA ACCEPTED 

COMPUTER CORNER OF NEW JERSEY 

439 RT. 23. POMPTON PLAINS. N.J. 07444 

CALL TODAY (20 1) 835-7080 

* PRIME TESTED MEMORY CHIPS * ' 



VERBATIM ATHANA® GEORGIA MAGNETICS® 



Floppy Diskettes for 

ANY COMPUTER SYSTEM 



8 " Floppies only $3 

HU 

10 for $3.65 ea • 50 for $3.40 ea 



20 

ea. 

HUNDRED LOTS 



We reserve the right to ship either of the name brands that we carry. 



// 



5 1 /4 Mini-floppies only $2 

HUNDRED 

10 for $3.10 ea • 50 for $2.85 ea 



60 

ea. 

)LOTS 



SPECIFY SIZE, TYPE, & COMPUTER 

5'/4 " Soft Sector, 10 Sector, 16 Sector— 8" IBM Compatible, Hard Sector 



CALL TOLL-FREE 24 HRS. TO ORD ER 

800-824-7888 
OPERATOR 814 

CALIFORNIA 800-852-7777 



[master cfia 


V7S4 


^— SCSI 



or 
C.O.D. 



DC SOFTWARE & COMPUTER PRODUCTS 

POST OFFICE BOX 503 

SAN BRUNO, CALIF. 94066 <™ 

FOR INFORMATION 415-348-2387 



FLOPPY DISK STORAGE 

ACCESSORIES 

Plastic Disk Library Cases 



8" Maxidisk 



5 1 / 4 " Diskette 



$3.50 

WHEN PURCHASED WITH DISKS 

$4.50 

WHEN PURCHASED SEPARATELY 

$2.50 



WHEN PURCHASED WITH DISKS 

$3.95 

WHEN PURCHASED SEPARATELY 



Vinyl Disk Envelopes doto.p. M 

8" Maxidisk stores™ disks $9.00/ pk 

5% " Diskette stores 20 diskettes $9.00/ pk 



3 Ring Binder 



$5.00 



Add $2.00 shipping & handling for all items above. Any excess will be refunded. 

School & University Orders 
Gladly Serviced 



»y Reader Service index— page 241 



Microcomputing February 1980 65 



Dave Henderson 

PO Box 2932 

South Bend IN 46680 



User-Defined Graphics 

for the Sorcerer 



All things are possible with Exidy's do-it-yourself graphics. 



Suppose you're a student, 
writing a thesis on Old 
Testament literature. The micro 
is powered up, the word pro- 
cessor is loaded, and the old 
creative juices are flowing like 
milk and honey. Suddenly you 
realize that the Hebrew text 
you're about to embark on just 
isn't possible with the English 
alphanumerics on your keycaps. 
What do you do? 

If you happen to be the proud 

owner of a Sorcerer by Exidy, 

you probably already know what 

to do. If you aren't, read on. 

The Sorcerer comes with a set 



10000001 
01000010 
00100100 
00011000 
00011000 
00100100 
01000010 
10000001 



81 
42 
24 
18 
18 
24 
42 
81 



Fig. 1. The graphics character 
associated with the Q key, with 
the hex codes to the side. 



00010000 
10101001 
10010010 
01111100 
00010000 
00010000 
00101000 
01000100 



10 

A9 

92 

7C 

10 

10 

28 

44 



Fig. 2. The stick-figure man 
drawn in the 8x8 matrix with 
hex codes. 



of 64 graphic characters, similar 
to the PET's, which are ac- 
cessed through the use of a 
special graphics key. These are 
resident in ROM, but on power- 
up they are copied into a section 
of user-addressable RAM. This 
makes it possible to alter the 
codes, thus creating your own 
graphics characters. You could 
conceivably store the entire 
Hebrew alphabet in this special 
section of RAM, to be called out 
as easily as the ABC's. What's 
more, there is another section of 
blank RAM just waiting for you 
to program it with 64 more 
special characters, for a total of 
128 user-defined characters. 

Altering a Character 

To begin with, each character 
is set in an 8 x 8 dot matrix, and 
is stored in memory as eight 
hex-encoded 8-bit bytes. To see 
how this is done, look at the 
graphics character associated 
with the Q key. It consists of two 
diagonals crossing each other 
to form a large X. If we think of 
the on and off dots as being 1s 
and 0s, this character can be ex- 
pressed as eight binary bytes 
(see Fig. 1). Each 8-bit byte is 
then divided into two 4-bit nib- 
bles and encoded in hex-code 
(see Table 1). 

This character is located in 
the Sorcerer's memory in the ad- 
dresses FC70 to FC77. Let's 



redefine this character by enter- 
ing new codes into these ad- 
dresses. Fig. 2 shows a simple 
stick-figure man drawn in an 8 
x 8 matrix, with the coinciding 
hex-codes to the side. If we now 
enter these codes into the ad- 
dresses FC70 to FC77, our stick 
man will be our new graphics 
character. 

First we exit BASIC. Do this 
by typing "BYE" followed by a 
carriage return (:cr:). The > 
prompt appears to remind us we 
are now in the machine-lan- 
guage monitor. Type in the com- 
mand "ENTER FC70 :cr:". The 
machine responds with "FC70:" 
so we enter "10 :cr:". The ad- 
dress increments to "FC71:" so 
we may input "A9 :cr:". 

We follow this sequence until 
all eight hex-bytes have been 
entered. We now return to 
BASIC by typing "PP :cr:". Now 
when we hold down the graph- 
ics key while hitting Q, our little 
man appears. He's become our 
new graphics character! 

Want to have some fun? 
Using the cursor controls, put 
the special character on the 
video screen, over in the lower 
right-hand area of the screen 
where it will be out of the way, 
but where it will be visible. Now 
go through the redefining pro- 
cess again, putting new codes 
in the addresses FC70 to FC77. 

As each code is entered, 



0000 = 0100 = 4 1000 = 8 


1100 = C 


0001 = 1 0101 = 5 1001 = 9 


1101 = D 


0010 = 2 0110 = 6 1010 = A 


1110 = E 


0011 = 3 0111 = 7 1011 = B 


1111 = F 



Table 1. Hex encoded 4-bit nib- 
bles. This code is used to store 
the graphics characters in their 
locations in memory. Thus, the 
code A9 represents the byte 
10101001. 



watch the character. It changes 
to match the codes you're put- 
ting in. This happens because 
the video display must be con- 
tinually refreshed by scanning 
memory. As we change the 
codes in memory, the character 
on the screen is also being up- 
dated. 

The addresses of the 128 
user-definable characters may 
be accessed through BASIC 
commands PEEK and POKE, as 
well as the method described 
above. This means that char- 
acter definition may take place 
under software control. This fea- 
ture of Exidy's Sorcerer is, as far 
as I know, unique, and is ex- 
tremely attractive. The ability to 
self-define graphics makes the 
design of game programs, ani- 
mation, etc., an exercise in in- 
novative thinking, and Sorcerer 
owners ought to be turning out 
classy programs right and left. I 
would if I owned one!! 



66 Microcomputing February 1980 



o 

or 

c 



o 

o 

o 
3 

c 



arc 



o 



- 

3 
- 
Q. 



•< 
t 



C 

c" 

3 

Q. 





m 

<K 

3 



o 

3 

< 
1 

o 

3_ 
< 

C 

v/> 

C 

3 

a. 



5 



71 



do" 



n 

CD 



DDD D 



ST 



i 

3 
30 




N 



8 

N> 



N5 



c 

ft ST <D 

3 



-, 



co "o n 2 "° 

— ^ ^ 3 ;r 

Q- -< g « 8 

fD 2 rc 
CL <-" ^ 3 

is 

o r. 
3 S 

C ~ 

?. o 

d5 B 



a □ Dg 

< 2 



CD 



CD 



ao 5 



rD ^ 
cd S 



p 

Q. 

CD 



O 
n 

o 

3 



90 

ft* 

3 

a 
ST 
















CO 


UJ 


> 






LU 


O 


cr 


Q 




h- 


< 


< 


LU 


LU 


< 


>- 

CO 


CO 
CO 


_J 
< 


X 
>- 


CO 


O 

Q. 


LU 


2 


z 


O 
LU 


O 


LU 


u. 




»- 


z 


Z 









00 

OS 







<x 


LU 
LU 


z 


o 


CO 
CO 
LU 

cr 


^ 


PLY 

TERBOP 


Q 
Q 
< 

> 
CD 




LU£ 


Q 

< 

Q. 


O 


C0§ 


CD 


o 


C0| 
LU* 


LU 


o 


LU 

Z" 


< 


or 


C05 


CO -r-, 

2 1 


O 


BU 

IRST C 


s 




2 


LL. 







TZ o> 



TH-6 SMM.L 

COMPUTER Mt\Gt\ZIM€ 

M" 1/2 PRIC€ 



MOOCOMPUTING 




Broaden your knowledge off microcomputing by subscribing to this small- 
computer magazine. Kilobaud Microcomputing is aimed at the computer hobbyist 
and small businessman who wants to learn the fundamentals off computers. This en- 
cyclopedia of microcomputing will contain such information as: 



•Programs to help you with your system 
•Reviews of the latest software and hardware 
•Evaluations of new hardware you may want to acquire 
•Thought-provoking articles 

•How to have fun with your computer, and save money 
•Information exchanges for hobbyists 
and more . . . 



Kilobaud Microcomputing believes that hobby computing is the forerunner of small-business computing, home com- 
puting and educational computing. To stay in touch with what's happening day to day in the world off computing, or iff you 
are just getting interested, Kilobaud Microcomputing is for you. It's written to be understandable for beginners, yet in- 
teresting for experts. Find out what's happening in the world off microcomputers by filling out the handy coupon below, 
or send in the attached postage-paid card today! 



kilobaud 



MICROCOMPUTING 



T.M. 



SUBSCRIBE NOW AND SAVE $15 
OFF THE $30 NEWSSTAND PRICE 
FOR ONE YEAR 



( PLEASE RUSH MY SUBSCRIPTION TO KILOBAUD MICROCOMPUTING X 
AND START MY ENCYCLOPEDIA OF MICROCOMPUTING TODAY! 



\ 



□ 1 year $15.00* 

□ 3 years $45.00* 

□ Bill me 

□ Cash or M.O. Enclosed 



Name 



Bill my 
Card #. 



□ Visa 



□ Master Charge 
Exp. date_ 



Signature 



Street 



City 



State. 



2\p. 



'Canada: $15 per year, US funds Other foreign: $23 one year only, US funds 



502H33 



kilobaud 



MICROCOMPUTING™ 



Box 997 • Farmingdale NY 11737 



I 



/ 



Microchess 




Modifications 



Enhance this computer chess game with these modifications. 



Chris McCormack 
116 Milburn Lane 
East Hills NY 11577 



Microchess is a chess-play- 
ing program, written by 
Peter Jennings, designed to run 
on a 6502-based microcomput- 
er system. Though it was con- 
figured for the Commodore 
KIM-1, the documentation con- 
tains suggestions on how it 
may be modified to run on other 
6502 systems. 

Remarkable about Micro- 
chess is that it can run on an 
unexpanded KIM, using only 1K 
of RAM. Though certain special 
moves (castling, en passant 
pawn captures, queening eighth 
rank pawns, etc.) cannot be 
made by the computer, it is pos- 
sible for a human player to 
make these moves. 

Poor Computer Play 

Microchess was one of the 
first pieces of software that I 
was able to run on my KIM. I 
was elated to find that the pro- 
gram actually worked. For the 
next several weeks, I spent 
most of my free time sitting at 
the computer, playing one 
game of chess after another, 
never giving a moment's 
thought to how the program 
might operate. 

After a while I became dissat- 
isfied with the way the comput- 



er was playing. One of the main 
problems I noticed was that the 
computer would often move its 
queen time and time again, al- 
most totally disregarding the 
other pieces at its disposal. 

My second complaint was re- 
lated to this. Because the com- 
puter was so preoccupied with 
its queen, it had a tendency to 
develop its minor pieces 
(knights and bishops) very 
slowly, if at all. Even if they 
were moved, they would often 
end up on a less than optimum 
square. 

The final problem was that 
the computer was apathetic to- 
ward occupying the center of 
the board. Anyone who has 
tried to study chess has heard, 
time and time again, that the 
center is the most important 
area of the chessboard. In most 
cases, the player who has con- 
trol of the four center squares 
will ultimately come out of the 
contest as the victor. 

With these faults in mind, I 
decided to try to find out why 
the computer played the way it 
did. To begin my search, I read 
the programming manual sup- 
plied with the program. To my 
surprise, this approach yielded 
results almost immediately. 

Changing Attitude 

In the program, one of the cri- 
teria used by the computer to 
compare moves is mobility. The 
greater the mobility resulting 



from a move, the greater the ap- 
peal of the move to the comput- 
er. In order to reflect the un- 
paralleled strength and mobili- 
ty of the queen, a one-point 
bonus would be awarded when- 
ever the computer moved the 
queen. This bonus was what 
convinced the computer to dis- 
regard the other pieces and 
constantly move the queen. 

I felt that this bonus would 
have to be deleted or modified. 
Looking through the listing 
(also supplied), I soon found 
this section of the program. At 
address 0112, the piece being 
considered for a move is com- 
pared to the queen. If the piece 
is not the queen, a conditional 
branch is taken. If it is the 
queen, the instruction at ad- 
dress 0116 (F6) increments the 
mobility counter. 

Instead of NOPing the six 
bytes involved (which would 
have resulted in a total one 
point less than the original cod- 
ing), I decided to replace the in- 
crement instruction at address 
0116 with a decrement instruc- 
tion (D6). This gives a two point 
difference from the original. By 
doing this, the computer will 
now favor the other pieces on 
the board instead of the queen. 

Openings 

With the queen taken care of, 
there were only two more prob- 
lems to contend with. The man- 
ual also supplied a partial solu- 



tion to one of these problems: 
the computer's clumsy devel- 
opment of its pieces. 

In an effort to counter this 
problem, the program includes 
provisions that allow the com- 
puter to play a stored opening 
of up to nine moves. This pro- 
vides sufficient time to properly 
post the minor pieces. Besides 
this obvious advantage, there 
is a bigger bonus available to 
the computer when it plays a 
stored opening. That bonus is 
castling. 

In normal play, the computer 
is unable to castle because it is 
considered an illegal move 
(moving two pieces at once, 
moving the king two squares, 
having one piece jump another). 
However, during the opening, 
the computer doesn't generate 
any of its moves. It simply plays 
whatever is stored in memory. 

Using the opening has its 
limitations. Because of the lim- 
ited memory available, only one 
opening may be stored in the 
computer to be used during a 
game. This leaves the comput- 
er with no flexibility in playing 
the opening. Once a move that 
contradicts the prestored se- 
quence of moves is made, the 
computer will abandon the 
opening and generate its own 
moves for the remainder of the 
game. 

In order for the computer to 
reap the greatest benefit from 
the opening, several factors 



68 Microcomputing February 1980 



must be kept in mind: (1) cas- 
tling in the shortest and most 
efficient manner, (2) quick de- 
velopment of the minor pieces, 
(3) obtaining a position from 
which the computer may assert 
or contest control of the center. 

After a little research, I real- 
ized that an opening similar to 
the Ruy Lopez given in the pro- 
gramming manual (see Table 1) 
seemed to be what I was after. I 
particularly liked its allowing 
the computer to castle in only 
four moves. 

But it also contained some 
moves I really didn't care for. By 
playing bishop to N5 (move 3), 
the whole opening is jeopar- 
dized because the common re- 
ply is 3: . . . P-QR3, forcing the 
bishop to retreat and the com- 
puter to abandon the opening. 
Instead I prefer 3:B-B4. Though 
it is conservative, it improves 
the chances of continuing the 
opening. 

I also didn't care for the 
moves following 4: . . . N x P. 
Here the computer is looking 
for moves that I have yet to see 
anyone play. White's fifth move 
is particularly questionable be- 
cause it allows black to make 
any move it wants, which is 
rarely the expected 5: . . . B-K2. 
I feel that 5.P-Q3 is a stronger 
move. Besides forcing the 
knight to move, it also opens up 
the queen bishop. Many peo- 
ple, being content with the free 
pawn, will simply retreat to B3. 

This allows white to continue 
with 6:N-B3. Black will often re- 
spond with B-B4 in order to pre- 
pare for castling. Now white 
can play 7.B-K3, attacking 
black's bishop. Black will usu- 
ally respond P-QN3. (If black 
plays BxB, the computer will 
respond with P x B, opening an 
important file for the king rook, 
as well as strengthening the 
center.) 

The computer can now play 
8.P-Q4, expecting P x P and fin- 
ishing up with 9:NxP. From 
here the computer should be 
able to finish the exchange, 
which results in a strong posi- 
tion for white. The whole open- 
ing is shown in Table 2. (The 
memory dump is Program A.) 

The advantage of this open- 
ing is that it leaves white with a 
strong position, even if the 



1: 


P-K4 


P-K4 


2: 


N-KB3 


N-QB3 


3: 


B-N5 


N-B3 


4: 


0-0 


NxP 


5: 


P-Q4 


B-K2 


6: 


Q-K2 


N-Q3 


7: 


BxN 


NPxB 


8: 


PxP 


N-N2 


9: 


N-B3 





1: 


P-K4 


P-K4 


2: 


N-KB3 


N-QB3 


3: 


B-B4 


N-B3 


4: 


0-0 


NxP 


5: 


P-Q3 


N-B3 


6: 


N-B3 


B-B4 


7: 


B-K3 


P-QN3 


8: 


P-Q4 


PxP 


9: 


NxP 





Table 1. 

opening is not played all the 
way through. I haven't included 
a similar opening for black be- 
cause such an opening has no 
real chance of succeeding. The 
reason for this is that white has 
the initiative in the opening, 
forcing black to simply make re- 
plies. 

Program Modifications 

With the opening out of the 
way, there was little left to 
glean from the programming 
manual. My next target was the 
program listing. 

Near the end of the program 
(17C4 to 17E2) I found a bonus 
section similar to the one that 



Table 2. 

ed for the king and queen 
pawns. The squares KB3 and 
QB3 were meant for the knights. 
Finally, the bonus for moving a 
back rank piece makes devel- 
oping moves more attractive to 
the computer. 

As far as the opening is con- 
cerned, these bonuses supply 
the computer with the guide- 
lines it can follow. The prob- 
lems begin to arise after the 
game has progressed a little 
further. These squares are no 
longer as important as they 
were in the beginning of the 
game. 

I decided that different 
squares should receive the 



ooco 

OODO 


99 34 06 34 34 OE 56 23 05 45 25 07 53 24 OE 33 
01 00 52 35 04 55 22 06 43 33 OF CC 

Program A. 


OOAO 


10 09 06 06 04 04 03 03 01 01 01 01 01 01 02 02 

Program B. 



involved the queen. In this 
case, the originating square 
and the destination square of a 
move are compared to pre- 
stored locations. If a match is 
found, a two point bonus is 
awarded. 

The first part of the bonus 
checks to see if the piece is be- 
ing moved from the back rank 
(squares 00 to 07). The second 
part compares the pieces' des- 
tination to four squares on the 
board. These squares are orig- 
inally K4 (33), Q4 (34), KB3 (22) 
and QB3 (25). 

These bonuses were original- 
ly included to help the comput- 
er through the opening stages 
of the game if the prestored 
opening were not played. The 
K4 and Q4 squares were intend- 



bonus. By changing the 
squares, I hoped to put the 
computer in a position where it 
could try to control the center. 
The simplest way to do this was 
to have the computer occupy 
the center. 

The benefits of this are two- 
fold. First, the center squares 
offer greater mobility for pieces 
posted there. Second, if a piece 
is in the center, it will probably 
be attacked. If this happens, it 
will have to be defended, there- 
by bringing more pieces to bear 
on the center. 

To do this, I changed the 
bonus squares to K4, Q4, K5 
and Q5 (33 at address 17C7, 34 
at address 17CB, 43 at 17CF 
and 44 at 17D3). 

I also changed the second 



bonus. Instead of awarding a 
move in the first rank, I decided 
to award moves in the first 
three ranks. This helps the com- 
puter post its pieces more of- 
fensively. To do this, simply re- 
place the 10 at address 17DD 
with 30. 

I have made two other 
changes in the program to in- 
crease the computer's aware- 
ness of the center. The first is 
quite simple. By increasing the 
value of the bonus section (at 
address 1 7E2) from 02 to 03, the 
availability of a bonus will have 
a greater influence on the move 
finally chosen. 

The second change, a bit 
more involved, is to one of the 
lookup tables used by the com- 
puter when comparing moves. 
This table (from address OOAO 
to 00AF) contains the "value" 
of the different pieces on the 
board. The original values are 
(decimal): king = 11, queen = 10, 
rook = 6, bishop = 4, knight = 4 
and pawn = 2. 

Because of the overriding im- 
portance of the king, I increased 
his value to 16. With the queen, 
I went in the opposite direction. 
Because the computer had a 
tendency to depend too heavily 
on this piece, I decreased its 
value to 9. I left the rooks and 
bishops unchanged. I didn't 
feel the knights should be worth 
as much as a bishop; therefore, 
I decreased their value to 3. I 
also devalued the pawns to 1. 

There were two exceptions to 
this markdown. I chose to leave 
the king pawn and the queen 
pawn equal to two. This is an- 
other effort to focus the com- 
puter's attention on the center 
of the board. By making these 
pawns more valuable than the 
others, the computer will de- 
fend them more tenaciously, 
while attacking those of its op- 
ponent more fiercely (Program 
B). 

That covers all of the 
changes I have made to date. 
By making these changes, you 
will be setting your computer to 
play a stronger level of chess. 
To guarantee that the computer 
is allowed to play its optimum 
game, don't try to play a se- 
rious game with the computer 
set to play at a blitz or super- 
blitz level.! 



Microcomputing February 1980 69 






Two Intriguing and Useful 
Apple II Peripherals 



Getting to know Speechlab and Apple Clock. 







Author's Apple system. Switches on the front select microphones, 
switch-off speaker and monitor. Key is the on/off switch for the en- 
tire system. Plug by the Apple logo is for game paddles. Large 
black button to the left of front microphone is the relocated RESET 
switch. 



David Ramsey 

9303 Forest Lane, #1058 

Dallas TX 75243 

For many months after its in- 
troduction, the Apple II 
computer was handicapped by 
its lack of peripherals. Since it 
used a nonstandard bus struc- 
ture, the available S-100 or 
SS-50 bus devices would not 
work directly with it. Apple did 
(and still does) supply a hobby/ 
prototyping card with complete 
bus documentation for $25, but 
this was little help to the non- 
hardware-oriented user (such 
as myself). 

However, the wait is now 
over. Apple and several outside 
manufacturers produce a range 
of Apple II peripherals, which 
include parallel and serial inter- 
faces, general-purpose com- 
munications cards, disk sys- 



tems, ac-control systems, di- 
rect plug-in modems, digitizer 
tablets, etc. Also, there is a 
three-voice music synthesizer 
card and a light pen that con- 
nects to the video circuitry to 
provide automatic scanning. 

This article deals with two of 
the more interesting Apple pe- 
ripherals: the Apple Clock by 
Mountain Hardware and the 
Speechlab model 20-A by Heu- 
ristics, Inc. Both of these de- 
vices adhere to the Apple con- 
vention of "intelligent subsys- 
tems," i.e., all control software 
is contained on an on-card 



ROM and is called automatical- 
ly. This has both advantages 
and drawbacks. 

On one hand, it makes the de- 
vices extremely easy to use, 
even for the computer neo- 
phyte, but it also can limit the 
versatility and usefulness of 
the device, which can be a prob- 
lem. Both devices come with 
excellent documentation and 
install merely by plugging into 
one of the seven available I/O 
slots on the main Apple board 
(slot #0, the left-most bus slot, 
is reserved for the Applesoft 
ROM card and cannot be used 
for anything else). 

Heuristics Speechlab 

This is certainly one of the 
more intriguing accessories for 
your computer— instant speech 
recognition! The manual that 
comes with the Speechlab is 
written with this "fascination 
factor" in mind, and contains 
several demonstration pro- 
grams that the user is urged to 
type in and try out immediately; 
detailed operating instructions 
follow. These programs plot 
voiceprints on the screen in 
low-resolution graphics, play 
voice-input blackjack and recog- 
nize different speakers' given 
voice samples. 

Using the Speechlab in your 
own programs is quite simple. 
There are three modes of opera- 
tion: initialization, training and 



recognition. 

Initialization. This consists 
of selecting the Speechlab for 
output and sending a PRINT to 
it. In practice, this would be 

10 PR#(slot):PRINT:PR#0 

where (slot) is the bus slot that 
the Speechlab board is in. This 
action clears the buffer table 
for Speechlab, which occupies 
memory from 2048 to 5500 deci- 
mal. It is thus necessary for LO- 
MEM to be set at or above 5500 
before using Speechlab. This 
may be done manually or incor- 
porated directly into a program 
thus: 

>NEW 

>HIMEM:8192 
>10 GOTO 5500 
>POKE 8187,17 

This procedure replaces the 
GOTO token in memory with 
LOMEM:, and upon listing the 
program the user will see: 

10 LOMEM:5500 

HIMEM may be reset after this 
is done. 

Training. The model 20A can 
recognize up to 32 different en- 
tries. I use the term entries in- 
stead of words because, strict- 
ly speaking, the unit recognizes 
sounds up to 1.25 seconds in 
length, bounded by 0.1 second 
periods of silence. Thus, a 
phrase such as "room light on" 
may be stored as one table en- 
try. However, if the user speaks 
slowly or pauses after a word, 
Speechlab will detect the afore- 



100 PR#0:REM 
110 PRINT "TEST":REM 
120 PR#(slot):REM 
130 PRINT "TEST*:REM 



SELECT VIDEO SCREEN FOR OUTPUT 

PRINT TEST ON SCREEN 

SELECT SPEECHLAB FOR OUTPUT 

SPEECHLAB WAITS FOR ENTRY AND ASSOCIATES IT WITH TEST 

Example 1. 



70 Microcomputing February 1980 



mentioned 0.1 second of si- 
lence and assume the entry is 
terminated. Entries longer than 
1.25 seconds are rejected with 
a beep of the Apple speaker, af- 
ter which Speechlab waits for 
another input. 

Training the Speechlab con- 
sists of printing a string to the 
unit. The unit will then wait for 
vocal entry, and this entry will 
be "associated" with the print- 
ed string. (See Example 1.) When 
this program hits line 130, it will 
stop. The next valid sound 
Speechlab hears will be put in- 
to the vocabulary table associ- 
ated with the string TEST. There 
is no other relation between the 
string printed to Speechlab and 
the vocal input. 

In practice, if you have less 
than 32 entries for any applica- 
tion, the unit is "multiple 
trained," i.e., the vocabulary ta- 
ble is filled with repetitions un- 
til full. In this fashion, the 
chance of Speechlab misunder- 
standing an entry is lowered. If, 
for example, you had a game 
program in which the inputs 
were to be the digits 0-9, the fol- 
lowing section of code could be 
used for training: 

100 FOR Y = 1 TO 3:FOR X = TO 9 
110 PR#0:PRINT X:PR#(slot):PRINT X 
120 NEXTX.Y 

This sequence of code would 
print a digit on the screen and 
pause until a spoken entry was 
received. It would then print the 
next digit in the series. The se- 
quence through 9 would be 
repeated three times. This 
would take up to 30 of the 32 ta- 
ble entries available. 

Recognition. Once the vo- 
cabulary tables have been en- 
tered, you can select Speech- 
lab for input with a simple IN# 
(slot) statement. For example, 

110 IN#(slot):INPUT A$:IN#0 

would cause the program to 
pause until a spoken entry was 
received. The string that is as- 
sociated with the sound in the 
training mode will be placed in 
A$. This is very convenient; it 
can also be used to make pro- 
grams very confusing, as 
Speechlab, of course, doesn't 
care what string it associates 
an entry with. The unit can be 
trained to respond to "Hello" 
with GRXL if desired. 





Heuristics Speechlab. 

Apple owners with the disk 
system are in great shape since 
the binary file save and load ca- 
pability can be used to effec- 
tively make the vocabulary in- 
finite! This disk can find and 
load a complete vocabulary 
table in less than five seconds. 
All that is necessary to save a 
table is for the user to enter: 

BSAVE SPEECHTABLE,A2048,L3452 

After initialization, the train- 
ing period may be bypassed 
with 

BLOAD SPEECHTABLE 

This is useful if you are the 
primary user of your programs, 
since you do not have to retrain 
the unit to your voice every 
time. If there are multiple users 
of your programs, each can 
save a speech table under his 
name, and the program can load 
the correct one automatically 
after the user enters his or her 
name! 

The Package 

The Speechlab comes with a 
microphone, stand and the 
aforementioned user's manual. 
The microphone is a high-quali- 
ty unit that works very well ex- 



cept in high-noise environ- 
ments. If you must use Speech- 
lab under these conditions, a 
noise-cancelling mike can be 
picked up at a local airport for 
about $60-$80. Private plane pi- 
lots use these types to enable 
themselves to be heard over the 
engine noise of small planes. 

The manual is very well writ- 
ten. Numerous example pro- 
grams are provided, as well as a 
complete description of the 
software and a circuit diagram 
and parts list for the actual 
board. There are sections ex- 
plaining the speech-recogni- 
tion algorithm (although no list- 
ing is given) and the hardware 
operation. I recommend read- 
ing these sections as they pro- 
vide some very interesting in- 
formation. For example, 
Speechlab normalizes all en- 
tries to time, so that the same 
word spoken at different rates 
of speed will have very similar 
entries built. 

Applications 

I am not too ashamed to say 
that I use my unit primarily for 
games and experiments. When 
I save enough to get an Introl ac 



(Photo courtesy of Heuristics) 

controller system, however, I 
will expect all kinds of applica- 
tions to open up! As a matter of 
fact, some Mountain Hardware 
Introl demo programs use the 
Speechlab to select devices for 
use. I envision a master control 
program that, upon hearing 
"lights," for example, will 
BLOAD the lights vocabulary 
table from the disk with a com- 
plete selection of commands 
for specific purposes. 

Of course, there is great po- 
tential in uses for the handi- 
capped, as well as any task that 
requires the use of your hands. 
I have seen Speechlab used to 
enter differential white blood 
cell counts. Instead of having 
to take his eye away from the 
microscope to make a tally 
mark by the proper type of 
WBC, the user merely spoke the 
name of the particular cell, and 
the Apple kept count automati- 
cally. 

Since, to the Apple, input 
from the Speechlab looks just 
like keyboard input, the unit 
may be used in any instance 
where a program is controlled 
by the user. I have used the 
Speechlab for "remote" control 



Microcomputing February 1980 71 



9 GOTO 15 

1 HI - (T > 53 OR T < 7) * 142 + 
CT > 6 AND T < 23) * 145 + < 
T > 22 AND T < 38> * 149 ♦ < 
T > 37 AND T < 54) * 145: H2 ■ 
CT > 53 OR T < 7> * 148 ♦ <T 



> 6 HMD T 



>3> * 145 + <T > 



22 AND T < 38 > * 142 + <T > 
37 AND T < 54 > * 145 

2 Ui * <T > 53 OR T < 7) * 95 ♦ < 

T > 6 AND T<23)*92 + <T> 
22 AND T < 38) * 95 + (T > 3 
7 FIND T < 54) * 98: U2 » <T > 
530RT<7)*95*<T>6 AND 
T < 23) * 98 + <T > 22 AND T 

<38>*95 + <T>37 AND T < 
54) * 92: RETURN 

3 HCOLOR= 9: HPLOT C05S<8)#C05£<i) 

TO CQ£<2)«Cra(3) TO AHCHIj 
0)#fil5t<HUi) TO C0*//9>,C0V.<1 
;•: HCOLOR= 3: HPLOT A1"/.<H1#8 
>#Ai%CHl«l>i RETURN 

4 HPLOT C05J<8)#CQ3£<1) TO C0tt2>, 

C0«3) TO Al"/.<H,8),Rr/.<H,l) TO 
CCK<8)«CCK<1): RETURN 

5 HCOLOR= 0: HPLOT CCK<4)*C03K5) 

TO C0HC6)#C0%<7) TO A1"/.(J + 
68»8)«ftl?£<J + 68#1) TO C0'«4 
>^C0*^5>: RETURN 

6 HCOLOR= 3: HPLOT ttft(4)#C0%<5) 

TO C03i<6)#C05S<7) TO A1*(H + 
68#8)#fti?£<H ♦ 69, 1 ) TO C05s<4 
),C05j<5): RETURN 

15 DIM RV.<59,l>,AlV.<li9,i>,CO*<7 

)sD* = CHR* (4>s TEXT : HOME 
: ONERR GOTO 1889 

16 FOR X ■ 49488 TO 58944 STEP 2 

56: IF < PEEK <X) = 8> AND < 

PEEK (X + 1) = 120 > AND ( PEEK 
<X + 2> = 44) THEN 18 

17 NEXT : PRINT "NO CLOCK BOARD! 

" : STOP 

18 CLOCK * <X - 49488 ) / 256 + i: 

PRINT "CLOCK BOARD FOUND IN 
SLOT "; CLOCK: PRINT : PRINT 

"GENERATING CLOCK FACE CO-OR 

D I NATES..." 
28 C = : 8: FOR I = 3.14159 TO - 3 

.14159 STEP - 0.1 0472 :XCO * 

145 ♦ 75 * SIN a>:VCO = 75 

* COS (I):Ar/.<C,0> =» XCO:A 
ik<C#i) a VCO + 95: C = C + i 
: NEXT 

48 C = 60: FOR I =• 3.14159 TO - 

3.14159 STEP - 0.1 0472 :XCO " 
145 ♦ 45 * SIN CDs VCO = 45 

* COS (I):R1%C*8) ■ XCO:A 



15j<C#i) = VCO + 95: C = C + 1 

: NEXT 
50 H6R : POKE ~ 16302,0: PRINT 

"BLOAD CLOCK FACE 2" 
55 T$ = " ":S$ = T*:H = 

08 H = 0:S -■■ G 
60 PRINT D$;"PR#"; CLOCK: PRINT D 

>;"IN#"iCLOCK 

500 X = FRE »:0>: INPUT " ";T$: IF 

HID* CTf,14,l) = HID* CS$, 
14#1) THEN 500 

501 IF PEEK < - 16384) = 155 THEN 

PRINT "PR#8": PRINT "IN#8": 
TEXT : HOME : POKE - 16368 
#8s END 
5@5 H =-- UAL < HID* <T*,7#2»sM ■ 

UAL ( HID* <T*,10,2>>:S = UAL 
< HID* <T$#i3#2)):S$ ■ T*: IF 
H > 12 THEN H - H - 12 
518 H * H * 5 ♦ INT <H / 12): IF 
H > ■ 68 THEN H - H - 60 

515 T = S - i: IF T < 8 THEN T ■ 

59 

516 HCOLOR* 8: HPLOT 145,95 TO A 
i5s<T#8)#B13S<T#l): HCOLOR= 3: 

HPLOT Al"-XT,0>,Ar«T,l>: HPLOT 
145,95 TO AlttS,0>,AittS,l> 

517 FOR X = 91 TO 99: HPLOT 142, 
X TO 149, X: NEXT 

520 IF NOT Fl THEN 526 

521 IF HI = H THEN GOSUB 4: GOTO 
530 

525 GOSUB 3 

526 T = H: GOSUB 1:CO%<0) = HI: CO 

5£<i) ■ Ul:CO>.<2> = H2:C0>:<3> 
■ U2: GOSUB 4: HI = H:Fi = 1 

530 IF NOT F2 THEN 545 

535 IF H = J THEN GOSUB 6: GOTO 

500 

540 GOSUB 5 

545 T = H: GOSUB i:C0fc<4) = HI: CO 
>X5> - Ul:C0"/.<6) = H2:C0'-X7> 

» U2:J ■ H:F2 ■ 1: GOTO 500 

1800 PRINT D*;"PR#0": PRINT D*i" 
IN#0": TEXT : PRINT : PRINT 

PEEK <222>i" ERROR AT LINE 
"i PEEK (219) + PEEK C219) * 
256 
9800 REH JAN 1979 BV DAUID RAHS 
EV NOTE: DUE TO MINOR DIFFER 
ENCES IN HPLOT COMMANDS IN R 
AM AND ROM APPLESOFT, HILL N 
OT HORK DIRECTLY HITH RAM AP 
PLESOFT. STATEMENTS 3-6 MUST 

BE CHANGED. 



Listing 1. Analog Clock program. Written in Applesoft II BASIC. 



of the Apple when giving dem- 
onstrations of the machine. In 
these cases, it was plugged in- 
to a 25 inch monitor facing the 
audience, and I could point to 
the screen and control the dem- 
onstration without having to 
run around to the Apple key- 
board. 

Some Weaknesses 

The ROM software, as previ- 



ously mentioned, limits the use 
of the device. For example, if 
the Speechlab cannot find a 
good match, it will return an 
empty string. Apparently, there 
is some sort of "fudge factor" 
that must be exceeded for this 
to occur. Well, the unit will do 
its best to find an entry for what 
you said; in most cases, you 
will get something back if you 
burp into the mike. I have used 



my unit for five months now 
and have gotten an empty string 
back maybe three times. It 
would be nice to be able to alter 
this fudge factor. 

A more serious limitation is 
the fixed location of the vocab- 
ulary table. As some readers 
may have surmised, this makes 
it impossible to use with either 
the RAM or ROM version ot Ap- 
plesoft II. I have tried some of 



the relocation schemes float- 
ing around to tell Applesoft to 
keep out of that area of mem- 
ory, but I have yet to be able to 
make it work! I queried Heuris- 
tics, which didn't know how, 
either, but the company is 
working on the problem. It 
would be nice if the user could 
specify the location of the vo- 
cabu\aTv teble to wtt ftte 
needs. Perhaps in the future an 



72 Microcomputing February 1980 




Mountain Hardware Apple Clock. ROM is at lower right; binary di- 
viders are to the left center. 



upgraded ROM will be made 
available that will enable pres- 
ent users to switch their ROMs 
for an improved version of the 
software. 

The Speechlab is priced at 
$189. Perhaps, at that price, I 
should really have no com- 
plaints (at the 1977 NCC in Dal- 
las I saw a much larger sepa- 
rate unit with a 16-word vocabu- 
lary selling for $3000!). You 
could ask Bell Labs what they 
want for one of their voice-rec- 
ognition systems . . . and what 
they will tell you should con- 
vince you that the Speechlab is 
one of the great hardware 
bargains currently extant. 

Mountain Hardware 
Apple Clock 

If theSpeechlab is intriguing, 
the Apple Clock is useful. It has 
all sorts of practical value that 
can be exploited once it is in- 
stalled. Physically, it is a large 
circuit board whose leading 
edge is chamfered to fit under 
the downward slope of the 
standard Apple case. The board 
contains a 9 V nicad battery 
that is trickle-charged and can 
retain the correct time for up to 
4 days with no power to the Ap- 
ple. You can even remove the 
board and carry it around with- 
out its missing a second! 

The board provides the date 
and time in a 24 hour format. 
Resolution of the time is to the 
millisecond. Like the Speech- 
lab, the Apple Clock returns its 
data as a string. It is selected 
for input and read from a pro- 
gram by the following sequence: 

110 IN#(slot): PR#(slot): INPUT " ";T$: IN# 
0: PR#0 

After this statement, the time is 
in T$. An example of what the 
user would find in T$ could be: 



03/20 23;34; 17.434 

which indicates March 20th, 23 
hours, 34 minutes, 17.434 sec- 
onds. 

The manual gives instruc- 
tions on how to make a "quick 
read" of the clock board. All 
that is necessary is to enter 

IN#(slot) 

from either integer BASIC or 
Applesoft. However, this is of 
limited use at best since it pro- 
vides a continuous readout of 
time as fast as the Apple can 
print it. RESET must be pressed 
to halt. In integer BASIC the fol- 
lowing annoying sequence is 
generated: 

>03/20 23;34; 17.434 

(beep)** 'SYNTAX ERR 
>03/20 23;34; 17.988 

(beep)***SYNTAX ERR 
>03/20 23;34; 18.233 

(beep)***SYNTAXERRetc. 

Applesoft gives the same multi- 
ple readout, but does not re- 
spond with the SYNTAX ERR 
message. 

The manual included with 
the clock board is perhaps the 
best documentation I have ever 
seen provided with any comput- 
er product. For example, sam- 
ple programs that print out the 
time are given for integer BA- 
SIC, integer BASIC with DOS, 
Applesoft and Applesoft with 
DOS. Instructions are provided 
for both BASICS to extract any 
desired portion of the time 
string, i.e., hours, seconds, 
month, etc. These programs are 
given to provide the time in 
either the board's 24 hour for- 
mat or a 12 hour am/pm format. 

A useful program is given to 
measure elapsed time. The 
time at the start of an event is 
read in as T1$, the time at the 
end of an event is read in as 
T2$, and the times are then con- 
verted to seconds and subtract- 




Rechargeable nicad 9 V cell on Apple Clock board. 



ed. This is very useful. It can be 
used to time sections of a pro- 
gram, for example. If you have a 
long or complex program that 
runs for hours, this feature can 
give you the end time and 
elapsed time to the millisec- 
ond! 

I have written a Hello pro- 
gram, resident on all of my 
disks, that upon booting pro- 
vides the following display: 

GOOD MORNING, AFTERNOON, 

EVENING) 
IT'S (hh:mm) ON (JAN . . . DEC) (dd) 
LAST DISK BOOT ON (JAN . . . DEC) (dd) 

AT (hh:mm) 

This program is shown in List- 
ing 1. It requires a data file, 
TIMEFILE, to be resident on the 
disk; the brief program in List- 
ing 2 will create and initialize 
such a file. 

The clock board has another 
powerful capability— it gener- 
ates interrupts on one-second 



intervals when the interrupt 
lines are enabled. It is neces- 
sary to delve into machine lan- 
guage to make full use of this 
feature. When the board inter- 
rupts, the Apple will perform a 
jump to the address contained 
in memory bytes 3FE (low) and 
3FF(high). 

From either BASIC or ma- 
chine language, the user can 
start the clock, stop the clock, 
read the month, date, hours, 
minutes, seconds and tenths, 
hundredths and thousandths 
of seconds individually. From 
assembly language, a JMP 
CN00, where N is the number of 
the slot the clock board is in, 
will return the full-time string in 
locations 0280 (hex) to 02A1. 

The manual includes sec- 
tions on theory of operation, 
with hardware, ROM access, in- 
terrupts, regulator circuit and 



19 D$="": DIM T$U8> 

20 PRINT D$;"IN#5": PRINT D$;"PR#5" 

30 INPUT " ",T* 

40 PRINT D*;"IN#0": PRINT D*;"PR#0" 

50 PRINT D* J "OPEN TIMEFILE, Dl" 
: PRINT D*i"HRITE TIMEFILE" 
: PRINT T$: PRINT D$; "CLOSE TIME 
FILE": PRINT D$;"L0CK TIHEFILE" 

60 END 

Listing 2. Sets up a TIMEFILE for use with the Analog Clock pro- 
gram. Written in integer BASIC. Line 10 shows D$= " ", which 
sets D$ to control-D. The user must enter a control-D character 
between the quotes. 



Microcomputing February 1980 73 



19 D*= ,,M : REM D$ ■ CONTROL-D 
26 PRINT D$i"NOMON I, CO" 
30 DIM fi*«::i08>,T$<18>,Tl*a8> 
40 fl*=" JANUARY FEBRUARY MARCH ft 
PRIL MAY JUNE JULY 
AUGUST SEPTEMBEROCTOBER NO 

UEMBER DECEMBER " 
50 TEXT : POKE -16390,8: CALL 



oo 



55 FOR X*- 18128 TO -14592 STEP 
256: IF < PEEK (X>=8) AND < 

PEEK <:X+1>=120> AND < PEEK 
<X+2>=44> THEN 57 

56 NEXT X: GOTO 188 

57 SLOT=<X+ 16123 V256+1 

GO PRINT D$; n IN# n iSLOT: PRINT 
D*; M PR# M ;SLOT: INPUT ■ %T* 
: PRINT D*; n IN#8": PRINT D$ 



i n PR#0" 



70 M= MSC<T$<1))-176:M=M*10^< ASCX 
T$< 2 > >-176 >: D= ASCX T$( 4 ) >-176 
:D=D*19+< ASC<T*<5>>-176>:H= 
ASC<T*<7>>-i76:H=H*10+< ASC( 
T$<8>>-176> 



80 PRINT "GOOD 



t a 



IF H>=9 AND 



H<12 THEN PRINT "MORNING.": 

IF H-il AND H<18 THEN PRINT 
"AFTERNOON.": IF H>17 THEN 
PRINT "EUENIN6." 
90 PRINT "IT'S ";T*<7,8>;":";T* 

Cie»il>i" ON "itO* 

180 IF A*<M*9-8-h:,M*9-3-K:>=" " THEN 
119: PRINT A*<M*9-8+C,M*9-8 
+C)i:C=C+l: IF C=9 THEN 118 
: GOTO 100 

110 PRINT " ";D;", 1979" 

120 PRINT D*i"READ TIMEFILE": INPUT 
Til 

130 M= hSC'::T1K1>>-176:M=M*18+< 

RSC<Tl*<2»-i76>l PRINT "LAST D 
ISK BOOT ON ";:C=0 

140 IF A$(M*9-8+C,M*9-8-»-C>=" " THEN 
150: PRINT H*<M*9-8+C,M*9-8 
+Oi:C=C+l: IF C=9 THEN 158 
: GOTO 148 

150 PRINT " "iTlK4,5>i" AT ";T1$ 
<7#8>j"t"jTl*<10#il> 

160 PRINT 0* J "UNLOCK TIMEFILE": 
PRINT D*i "WRITE TIMEFILE": 
PRINT T$: PRINT D$; "CLOSE TIMEF 

ILE" 
170 PRINT D*;"LOCK TIMEFILE": PRINT 

: PRINT D*i" CATALOG" 
ISO NEH : END 

Listing 3. Hello program in integer BASIC. 



software. As with the Speech- 
lab, a full parts list and circuit 
diagram are supplied. The man- 
ual also contains instructions 
on setting the frequency and re- 
placing the 2708 ROM with a us- 
er-supplied 2716 PROM. This is 
excellent for those with the 
knowledge who wish to change 
some of the clock software. 

Minor Nitpicks 

The Apple clock is not a 
100,000 day clock like its S-100 
"big brother." This means the 
user must reset it at least once a 
year before Jan. 20. A DIP switch 
on the board selects whether it 
is a leap year or not. This switch 
can be queried from BASIC with 
the proper PEEK command. 



I would like the "quick read" 
software to be modified to print 
the time once and return con- 
trol to the Apple. I would also 
like to be able to specify the 
time between interrupts. Per- 
haps these last two complaints 
could be corrected with a new 
PROM. 

As with the Speechlab, the 
full utility of this device awaits 
its marriage to an ac controller 
system. 

I have written the Analog 
Clock program, a good idler 
and demonstration program 
(see Listing 3). This puts a real- 
time analog clock on the HIRES 
screen, with hour, minute and 
second hands. My version 




Apple Clock (Analog) produced by Listing 3 in conjunction with the 
Apple Clock board. Version shown here also has ''clock face" 
HIRES binary file; Listing 3 will reproduce only the hands and sec- 
ond ticks. 



BLOADs a binary file "clock 
face" to provide a face for the 
clock— but there is no easy way 
to distribute an 8K memory 
dump in magazine format. Even 
if it were printed, would you 
want to enter it by hand? 

Program Notes 

If you are using RAM Apple- 
soft, two changes must be 
made. The HGR command must 
be changed to HGR2, lest Ap- 
plesoft clobber itself. This re- 
quires that you have at least 
24K of memory (36K with a disk 
system). 

Also, ROM Applesoft lets 
HPLOT commands be chained 
together, such as HPLOT X,Y 
TO X1,Y1 TO X2,Y2, TO (ad infi- 
nitum). However, the disk RAM 
Applesoft does not permit this, 
so that the above statement 
would have to be broken up into 
HPLOT X,Y TO X1,Y1:HPLOT 
to X2,Y2:HPLOT TO, etc. The 
HPLOT commands in the pro- 
gram must be changed ac- 
cordingly if your are using RAM 
Applesoft. 

Peripheral Use with 
the Apple DOS 

The Apple DOS has its little 
quirks. One of the more annoy- 
ing is that any reference to a pe- 
ripheral slot must be PRINTed 
like any other DOS command. 
This can get rather tiresome, 
since a simple PR#4 is trans- 
formed into PRINT D$;"PR#4". 



If the simpler command is 
used, it will break contact with 
the DOS. 

I have recently found a way 
around this: After using the 
standard I/O reference com- 
mands, all that is necessary is 
to CALL the DOS. The location 
you need to call may be found 
by this statement: 

PRINT PEEK(977) + PEEK(978)*256 

or by subtracting 8769 from the 
amount of memory in your sys- 
tem. For example, a 36K system 
has 36864 bytes of memory 
(1023*36), and this number 
minus 8769 gives 28095. 

The last statement in your 
program would be a CALL to 
this point. This restarts the 
DOS and halts your program as 
though it had hit an END state- 
ment. In practice, it is a good 
idea to set a variable DOS with 
the PEEK statements as shown 
above, and then perform a 
CALL DOS. This ensures that 
your program will work on sys- 
tems with different memory 
sizes.! 



Author's note: Heuristics has announced 
an upgraded version of Speechlab (now 
called Speechlink) for the Apple. At $260, it 
has these improvements: 

• Mountain Hardware no longer produces 
the old Introl unit, but now has the im- 
proved, less expensive Introl X-10 based 
system. In conjunction with the Apple 
Clock, this system offers complete fore- 
ground/background operation. 

• Multiple 64-word vocabularies in memory 
at user's choice of location. 

• User-settable rejection factor. 

• Works with both BASICS and PASCAL 
The model 20a will still be produced. 



74 Microcomputing February 1980 



ENflTffljl M MB U I II 1 1 1 

Diunars FIssEsiatiEi riaiuslaiiar 



THE STRINGY FLOPPY 

Are you completely satisfied 
with your cassette recorder as a 
mass storage device for your 
microcomputer? IF NOT, READ 
ON. Do you now have a way to 
save the programs you write, and 
the data files that go with the 
programs, so you can load them 
into memory quickly and ac- 
curately? IF NOT, READ ON. 
Have you decided that you must 
have a disk system for your 
microcomputer, regardless of the 
cost? IF NOT, READ ON. 

The Exatron Stringy Floppy 
is a mass storage subsystem for 
microcomputers. It has a wide 
range of applications for personal 
computers, business systems, and 
a variety of commercial and in- 
dustrial systems. For the TRS-80 
it consists of a drive unit con- 
taining the tape transport, the 
I drive electronics, the ROM with 
all operating and control firm- 
ware, and the interface elec- 
tronics; a sealed unit power sup- 
ply ready to plug into a wall 
socket; a flat cable, with con- 
nector ready to hook in to the 
card edge on your TRS-80; and a 
digital-quality continuous-loop 
miniature tape cartridge as the 
storage medium. Assembled and 
tested at the factory, ready to in- 
stall and operate, with a money- 
back guarantee for 30 days! 

If you haven't heard of us 
before now, get a quick look by 
reading our newsletter in back 
issues, starting last August (this 
is our 7th newsletter). Call us on 
the Hot Line below for the com- 
plete information packet. Stringy 
Floppy s are available for the 
TRS-80, S-100 bus micros, and 
SS-50 systems. 

THE WORKSHOP SYSTEM 

There are now ESFs all over 
the U.S., and quite a few in 
Europe, the Far East and Aus- 
tralia. In population centers there 
may be many owners who are 
not yet aware of their fellow 
owners nearby. Here in the Santa 
Clara Valley, where the ESF was 
created, we have long experience 
in the value of owners with com- 
mon interests getting together 
for their mutual benefit. The 



Secretary, Fred Waters 

ESFOA Saturday morning work- 
shop-hasn't missed since Jan- 
uary 1978! -is a permanent in- 
stitution, and we knew others 
would benefit the same way. So 
in November, as part of a con- 
tinuing program of keeping all 
registered ESF owners com- 
pletely up to date, information 
was sent out to all current owners 
on setting up local ESF Work- 
shops wherever they are wanted. 
Local chairmen are being desig- 
nated, and are furnished with 
mailing lists and telephone num- 
bers of other local owners. Their 
names are used as contact points 
for non-owners who want to find 
out locally about the Stringy 
Floppy. There are certain spec- 
ific benefits for the chairmen, 
and of course general benefits 
for all who participate. 

Once you have your own 
Stringy Floppy, you profit not 
only from the material and prac- 
tical advantages of this remark- 
able subsystem, but also from 
the more intangible benefits of 
cooperation in all fields with 
other ESF owners. You don't 
just acquire a very useful piece of 
hardware for your micro -you 
also pick up an option to par- 
ticipate, at whatever level and to 
whatever degree you choose, in 
a large group with common aims. 
And this idea REALLY WORKS! 

HELPS AND HINTS 

As all you micro owners 
have found out, every time a 
group of you gets together, sev- 
eral useful programs, or pro- 
gramming techniques, or HELPS 
AND HINTS are passed around. 
Here in Silicon Gulch we are 
lucky in having a higher than 
usual share of professional pro- 
grammers who leave their big 
machines at the end of the work- 
ing day, and go home to become 
creative on their small machine. 
And we have a lot of very 
talented amateurs too. So part 
of ESFOA's continuing liaison 
with all current ES1- owners is 
the distribution of "Helps And 
Hints - An Insiders Newsletter". 
This is distributed to Workshop 
Program Chairmen for dissemi- 
nation to workshop participants. 
One more benefit of ESF owner- 
ship and ESFOA membership. 




Linda Howell is the gentle voice you hear when you call the Exatron 
Hot Line for an information packet, or for answers to questions 
about the ESF. Linda just received her degree in accounting from 
San Jose State, and is in charge of sales and customer relations. 
She operates the Stringy Floppy, too! 



And don't let that word "mem- 
bership" throw you. All owners 
are automatically members, with 
no dues, no requirements, no 
qualifications-just benefits. 

ESF SOFTWARE 

Good hardware stimulates the 
demand for good software. If 
you've been following our news- 
letter, you read in November 
about superb systems programs 
written specially for the S-100 
ESI", in December about the 
ESI-80 Monitor for the TRS-80 
ESF, and in January about the 
splendid Data I/O Program for 
the TRS-80 ESF. It just keeps 
coming! A very significant point 
about all of these programs, and 
most others, is that they are 
written to meet specific needs or 
demands by individuals. The in- 
put surfaces when users get to- 
gether and exchange ideas and 
techniques, and somehow there 
is always some able person who 
accepts the challenge and creates 
the program. 

Another kind of demand for 
software also exists. ESF owners 
are often enthusiastic users of 
commercial software available on 
other media, and need software 
mods for Stringy Floppy, or sim- 
ply need the program on ESF 
wafer, or both. 

Well, there's quite a bit being 
done to meet both of these 
types of demand. Exatron has 
made specific arrangements with 
Michael Shrayer to have the ESF" 
interface programmed into the 



Electric Pencil for the TRS-80, 
and to market the interface along 
with the standard Electric Pencil 
package. If you've already used 
this excellent word processing 
program, nuff said. If you 
haven't, ask around. It can't be 
touched for price and quality. 
This newsletter has been com- 
posed since its inception with 
the Electric Pencil. 

Have you heard of PIMS, 
Scclbi Publications' Personal In- 
formation Management System? 
Enough of a demand for this 
program existed here in the 
Santa Clara Valley that Exatron 
made arrangements with the pub- 
lisher to market their book, along 
with the program on ESF wafer. 
This is a real bargain. 

HOW TO ORDER 

The ESF is assembled and 
tested at the factory, with a 30- 
day money back guarantee and a 
one-year full warranty, and is 
normally in stock and ready to 
ship, lor the fastest delivery, 
phone in your credit card or 
COD order, using the toll-free 
line below. 

Base price for the TRS-80 
ESF is $249.50 (ask about the 
Starter Kit); for the S-100 ESF, 
$289.50; for the SS-50 ESF, 
$250.00. The 2-for-l Bus Ex- 
tender is $15.00; the ESF-80 
Monitor is $9.95. Users manuals 
for all versions of the ESF and 
complete information packets 
are available at no charge. 



I 



If you have any questions about the product, about Exatron, or 
ESFOA, please call the Hot Line. Address letters to ESFOA, 3559 I 
Ryder St., Santa Clara, CA 95051 



Stringy Floppy is a trademark of Exatron Corporation 



HOT LINE 



WITHIN CALIFORNIA 



800-538-8559 



408-737-7111 



Robert J. Cotter 
The Johns Hopkins 
School of Medicine 
Baltimore MD 21205 



The Elf EPROMmer 



Got the Giant Board? Then an EPROM programmer is easy. 



If you bought the Giant Board 
and the 4K memory board for 
your Elf II, then you can build a 
simple EPROM programmer 
with only a few inexpensive ICs, 
transistors and resistors. Then 
you can store all those home- 
made programs, your own 
monitor system or Tiny BASIC; 
and your computer will be ready 
to run your programs as soon as 
the power switch is turned on. 

The Giant Board makes it 
easy since it contains a latched 
output port that can be con- 
nected to your programmer and 
a ROM monitor system for ac- 
cessing the programs you will 
write onto your EPROM. The 4K 



board is necessary to provide an 
area to load your program for 
copying. 

Also, it provides latched and 
buffered high-order address bits 
you will need to address the 1K 
EPROM memory and for select- 
ing between EPROMs. The high- 
order bits can be brought down 
to unused pins on your 88-pin 
bus, so that you can conve- 
niently build your programmer 
on a board that plugs directly in- 
to the Elf bus. 

The EPROM programmer de- 
scribed here uses two EPROM 
sockets: one for programming 
and one for reading. In the pro- 
gramming mode, the EPROM is 



25.2V 
300mA 




I2.6V 
300mA 




6 3V 
300mA 




6.3V 
300mA 




2N3055 



♦ 25V 



X 

X 



r-© 



3300 M F 20K 



X 

X 



2200 M F 



X 

X 



I000 M F 



X 

X 



000 M F 



t 



7812 



7805 



7805 



Fig. 2. Power supply schematic. 



j 



♦ 12V 



J 



♦ 5V 



J 



-oGND 



1 

-5V 




(68) N2 • 



(32) TPB » 



(18) Q 



61 ANT BOARD 
OUTPUT PORT 



• DO (5) 



« 01 (II) 



• 02 (4) 



• 03 (12) 



o D4 (3) 



• 05 (13) 



o D6 (2) 



« D7 (14) 



♦ 12V 



♦27V 



Fig. 1. EPROM programming circuit. 
76 Microcomputing February 1980 



treated as an output device; 
while in the reading mode it be- 
comes a randomly accessible 
memory. The advantage of this 
approach is that the READ sock- 
et can be used not only to verify 
that a program has been loaded 
correctly, but also to run the pro- 
grams stored on your EPROM. 

Programming the 2708 EPROM 

Fig. 1 shows a schematic of 
the programming circuit. The 
address lines (AO to A9), the tim- 
ing pulse (TPB), the I/O select 
line (N2) and Q come directly 
from the Elf bus. The pin con- 
nections are shown in paren- 
theses. The data lines (DO to D7) 
are available on the Giant Board 
on a 14-pin DIP socket. 

If a similar socket is mounted 
on the programmer, then a 
14-pin ribbon cable connector 
can be used to connect this out- 



SET * OF 
PROGRAM LOOPS 



SET BEGINNING OF 
PROGRAM AREA 



LATCH ADDRESS AND 
DATA ON OUTPUT PORT 



INCREMENT ADDRESS 
REGISTER 



DELAY 12 
MICROSECONDS 



TURN ON PROGRAM PULSE 
FOR IOOO MICROSECONDS 



DELAY 6 
MICROSECONDS 




DECREMENT 
LOOP COUNTER 




Fig. 3. Program loop flowchart. 

put port to your circuit. Other 
connections include ±5V, + 12 
V and 27 V. A power supply that 
provides these voltages is 
shown in Fig. 2. 

How It Works 

In the programming mode, 



chip select/write enable (CS/WE) 
is held high at +12 volts by di- 
rect connection to the 12 volt 
supply. (This is pin 20 on the 2708 
EPROM socket.) Addresses are 



placed sequentially (from 000 to 
3FF) onto the EPROM whenever 
N2 and TPB are high. A 67 out- 
put instruction is used to raise 
N2. The 7475 four-bit latch latch- 
es its outputs as the enable 
pulse at pins 4 and 13 falls. 
Therefore, N2 must be ANDed 
with TPB so that this pulse goes 
low when correct addresses are 
presented to the 2708. 

The 67 instruction was chos- 
en since this also controls the 
output port on the Giant Board. 
This instruction, therefore, 
loads and latches the correct 
data bits onto the EPROM at the 
same time as the address bits. 

Twelve microseconds after a 
particular address and data 
have been latched onto the 
2708, the Q line goes high and 
turns on the 27 volt program 
pulse to write the data at that lo- 
cation. A timing loop holds this 
pulse on for 1 millisecond. When 
the program pulse goes low, the 
next address and new data are 
placed on the EPROM and the 
sequence is repeated for all 
1024 locations. When all loca- 
tions have been written once, 
this defines a program loop, 
which must be repeated 100 
times to ensure that the data 
has been correctly written in. A 
flowchart demonstrating this 
sequence of events is shown in 
Fig. 3. 

Program A shows the hexa- 
decimal listing for programming 
the 2708 EPROM. In step 2, note 
that the area to be copied is lo- 
cated from 0400 to 07FF. If you 



(34) 07 o- 



location 


bytes 


steps 


comments 


00 


F8 6A A1 


1 


set programming loop counter 


03 


F8 04B2 


2 


set beginning address of 


06 


F8 00A2 




area to be copied 


09 


E2 


3 


M(R2) = MX 


0A 


67 


4 


latch DATA and ADDRESS onto 
output port; R2 + 1 


0B 


C4C4 


5 


delay 


0D 


7B 


6 


turn on program pulse 


0E 


F8 3B A3 


7 


load 3B into register 3 


11 


23 


8 


R3 - 1 


12 


83 


9 


R3.0 - D 


13 


3A11 


10 


GOTO 11 if D#00 


15 


7A 


11 


turn off program pulse 


16 


C4 


12 


delay 


17 


92 


13 


R2.1 -D 


18 


FB08 


14 


R2.1 x OR 08 


1A 


3A0A 


15 


GO TO 0D if D # 00 


1C 


21 


16 


R1 - 1 


10 


81 


17 


R1.0-D 


1E 


3A03 


18 


GO TO 03 if D # 00 


20 


00 


19 


STOP! 


Program 


A. Hex listing 


for programming the 2708 EPROM. 



(38) 06 o- 



(42) 05 «- 



(46) 04 o- 



(50) 03 o- 



(54) D2 o- 
(58) Dl o- 



(62) DO o- 



(64) AO °- 
(60) A I o- 



4050 
^2 



♦ 5V 
24 2I 



1> 



(56) A2 o- 



"> 



{> 



(52) A3 •- 



(48) A4 o- 



(44) A5 o- 



I4| 



^2. 



(40) A6 o- 



1> 



D> 



19 



(36) A7 o- 



pf_ 



(85) A8 o- 



23 



(83) A9 o- 



24 



♦ 12V 

u 







♦ 5V 

1- 


4 






1 


4001 




2 


8 , 






3 


9 




5 


10 






6 


12 






13 


1 1 


*[ 








I 



19 



5V 

9 



2708 
EPROM 



PROG CS/WE 



18 



12 



4.7K 



1/6 
7406 



I 



HX 



10 



13 



14 



15 



16 



17 



20 



Fig. 4. Circuit modification. 



wish to use this program to copy 
a different 1K area, then the 
starting address, 0400, can be 
changed, as long as the bottom 
ten bits of this address are all 
Os. 

Also, when the 2708 is erased, 
it contains 1s in all locations. 
Therefore, if you are not copying 
all 1024 locations, the remaining 
spaces should be filled up with 
FFs, so that you can add other 
programs later. For example, I 
entered my programming pro- 
gram into locations 0400 to 
0420, filled locations 0421 to 
07FF with FFs and now have an 
EPROM that will program other 
EPROMs. Having the two sep- 
arate sockets makes this pos- 
sible. 

Verifying and Using 
Your EPROM 

By adding one more IC and a 
new socket to your board, you 
can verify your program or use 
your EPROM as a read-only 
memory. The schematic is 
shown in Fig. 4. (Address lines 
AO to A7 use the same buffers as 
in Fig. 1.) In this socket, the 



PROGRAM pin is grounded and 
CS/WE is pulled low by A14, A12 
and MREAD. This makes its 
location 4000 to 43FF. The 2708 
data outputs can be connected 
directly to the Elf bus, since 
these outputs are Tri-state. 

You can verify that the pro- 
gram has been loaded correctly 
by using the Elf's monitor on the 
Giant Board. Load the program, 
CO FO 00, to get into the mon- 
itor. Press the RUN switch and 
load 01 40 00 to examine the 
memory starting at location 
4000. Each time you press and 
release the input switch you will 
alternately observe the low- 
order address bits and the data 
bytes on the hex display. If the 
first dozen or so bytes are cor- 
rect, then you have most likely 
made a correct copy, and you 
should then try to run the 
EPROM programs. 

To run a program starting at 
the first location, load CO 40 00 
and press the RUN switch. You 
can run a program at any other 
location by loading CO and the 
correct address from 4000 to 
43FF. 



Microcomputing February 1980 77 



Some Comments 

When you build your EPROM 
board, you might consider 
building several READ sockets. 
You can then select between 
EPROMs by decoding part or all 
of the upper address bits (A10 to 
A15). A circuit for accomplishing 
this for a 4K EPROM memory is 
shown in Fig. 5. The 74C154 de- 
coder decodes A10 to A13 and 
produces valid outputs when 
A14 is high and A15 is low. The 
selected outputs themselves 
are low and are gated with 
MRD to produce a positive pulse 
for selecting the correct 
EPROM. Only four of the 16 pos- 
sible outputs are used. The 7406 



0000-OFFF 


4K RAM #1 


1000-1 FFF 


4K RAM #2 


2000-2FFF 


4K RAM #3 


4000-43FF 


1K EPROM 


4400-47FF 


1K EPROM 


4800-4BFF 


1K EPROM 


4C00-4FFF 


1K EPROM 


F000-F0FF 


ROM monitor 


Table 1. Elf 


// memory al- 


location. 





inverter then pulls CS/WE low 
to read the EPROM. This partic- 
ular inverter must be used, since 
it has a high voltage, open col- 
lector output. 

When locations for the 
EPROMs are selected, ad- 
dresses beginning with F (F000 
is the ROM monitor) and any 
RAM address must be avoided. 
Table 1 shows one possible ar- 
rangement of memory locations 
for the Elf II, if the five Elf bus 
sockets are occupied by three 
4K RAM boards, the Giant Board 
and the EPROM board as de- 
scribed here. 

There are several inexpensive 
EPROM programmers currently 
on the market. The September 
1978 issue of Kilobaud features 
an excellent article by James 
Grina on a 2708 programmer for 
the KIM-1 ("Super Cheap 2708 
Programmer," p. 100). His ap- 
proach is to generate the ad- 
dresses for the EPROM using 
three 4-bit 74193 counters, 
thereby eliminating the need for 
bringing out the ten address 
lines. 



In order to use this circuit on 
the Elf II, another output port (in 
addition to the input and output 
ports available on the Giant 
Board) has to be constructed. 
This port would be used to pro- 
duce the program pulse, set the 
CS/WE state and increment and 
reset the counters. 

This approach is also used by 
an EPROM programmer devel- 



AI3 » 



AI2 » 



All o 



AIO o 



AI5 » 



AI4 o 



MRD » 



oped by Optimal Technology, 
which uses three I/O ports when 
connected to the COSMAC VIP. 
However, I chose the method 
described in this article because 
the high-order addresses were 
readily available, and once they 
were brought onto the board, I 
had the possibility of randomly 
(and not sequentially) accessing 
the EPROM. ■ 




♦ I2V 
A 




TO CS/WE 
' o EPROM (I) 



♦I2V 



CH^ 



-o EPROM (2) 



♦ I2V 
A 



T~^)o^k>o^ 1 o E PROM(3) 



♦ 12V 
A 



o^o 



-o EPROM (4) 



4001 



7406 



Fig. 5. 74C154 decoder circuit. 



THE 



SSENCE 



of output quality 



Any IBM SELECTRIC®can be con- 
verted to produce high quality out- 
put at an affordable price! 

Interfaces directly to S100, Parallel, 
RS-232 or IEEE-488. 

Compatible with TRS-80, Sorcerer, 
Pet, Apple, Horizon, etc. 

Why be printer bound? Prices from 

$496 to $575. 



^E50 




Backspace and Tab 
Available NOW! 




Escon Products, Inc. 

171 Mayhcw Way, Suite 204 

Pleasant Hill, Ca., 94523 

(415) 935-4590 



rnrr i U P to S 1 70. in merchandise 
rntt ! with purchase of PET-CBM item ! ! ! 



32K 




PET 16K Large Keyboard $ 995 $130 
PET 32K Large Keyboard $1295 $170 
PET 8K Large Keyboard (New) $ 795 $100 
PET 2040 Dual Disk (343K) $1295 $170 
PET 2023 Printer (pres feed) $ 849 $110 
PET 2022 Printer (trie feed) $ 995 $130 

KIM-1 $159 (Add S30 for Power Supply] SYM-1 $ 209.00 

AXIOM EX-801 Printer-PET $ 477.00 

21 14 L 450 ns 5.35 24/4.95 100/4.45 

2716 EPROM (5 Volt) 39.00 

6550 RAM (for 8K Pet) 12.70 

PET 4 Voice Music System (KL-4M) 29.50 

All Books and Software 15% OFF 

Leedex Video 100 12" Monitor 1 19.00 

Anderson- Jacobsen 841 Selectric (par) 1015.00 

Heath WH-19 Terminal (fact, asm.) 770.00 

Heath WH-14 Printer (fact, asm.) 735.00 

Programmers Toolkit - PET ROM Utilities 44.90 

Microchess 2.0 for PET or APPLE 1 7.90 

PET Word Processor - Machine Language 24.00 



3M Scotch" 8" Disks 
3M Scotch" 5" Disks 
Verbatim 5 Disks 
Disk Storage Pages . . 



10/31 00 
1 0/31 50 

10/26.50 
10/ 395 



Cassettes (all tapes guaranteed) Premium quality, hiah output low 
noise in 5 screw housing with labels: AGFA PE 61 1 
C-10 10/5.95 50/25.00 100/48.00 

C-30 10/7.00 50/30.00 100/5700 ^ A88 

Add $ 1 per order for UPS shipping. 
Ask for 6502, TRS-80, and S-1 00 Product List. 



A B Computers 



115 E Stump Road 
Montgomeryville. PA 18936 
(215) 699-8386 



78 Microcomputing February 1980 







Even at 5'12 a.m. , its hard to quit 
playing Personal Software™ strategy games. 




Gammon Gambler 



A quick game before turning in can become an all-night 
session when you load any of the Personal Software m strategy 
games into your Apple,* PET* or TRS-80.* They'll challenge, 
teach and entertain you. And now there are two new games- 
Gammon Gambler" and Checker King ,M —joining Bridge 
Partner," Time Trek M and the best-selling Microchess.™ 

Gammon Gambler is a sure bet. With ten levels of skill, 

you can begin a novice and become 
an expert. Whichever level you play, 
the computer moves so quickly 
you don't have to wait. The 
program follows U.S. 
tournament rules, and in- 
cludes the doubling 
cube to spice up the 
game. Written for 
the Apple and 
PET by Willy 
Chaplin. 
Checker King— you probably forgot 
how much fun it is! If you move and 
change your mind, take it back and move 
again— without a peep from the computer. 
Play eight skill levels. Add and remove 
pieces. Save three board positions for later 
play. And solve three challenging checker 
puzzles. Written by Michael Marks for 
the Apple, PET and TRS-80. 

Microchess, the most widely used 
personal computer chess program, is a 
nearly perfect chess opponent for the total 
novice or the advanced enthusiast. Written 
by Peter Jennings for the Apple, PET and 
TRS-80. 

* Apple is a trademark of Apple Computer, Inc.; PET is a 
trademark of Commodore Business Machines, Inc.; TRS-80 is 
a trademark of the Radio Shack Division of Tandy Corp. 



I ,JS, Ml .MM. M| M.M. Ml »w« 

mm LJ »»*•« Li """ Li MM " 

, Ml MMM Ml «»».t Ml >..«. Ml 

i tl mww t I tttmj Amtml I 
.JjSf utttt t**»*i •tmi 



»,»,♦, tlMlt 




**»»»« W **»*»* 



• »m*m ♦ 



Bridge Partner You against the computer in over 10 million 
different hands of contract bridge. You can even specify the 
hands' high card points. Written by George Duisman for the Ap- 
ple, PET and Level II TRS-80. 

Time Trek is easy to learn, dif- 
ficult to master and impossible to 
forget. Take command of a starship 
in real-time action to make the gal- 
axy safe again. PET version by Brad 
Templeton. TRS-80 program 
by Joshua Lavinsky. 

Personal Software, Inc., 

also produces the VisiCalc ,M 

program (the software that's 

revolutionizing personal 

computing), CCA Data Management Sys- 
tem, the Vitaf acts series and other exciting 
software for the Apple, PET and TRS-80. 
Now that you've read about the Per- 
sonal Software programs, go see a 
demonstration. For the name of your 
nearest Personal Software dealer, call 
(408) 745-7841 or write to Personal 
Software, Inc., 592 Weddell Drive., 
Sunnyvale, CA 94086. 



Checker King 



sees* 



^P39 




STRATEGY GAMES 



THE EASY* WAY 

TO HARD COPY 




\ 




w 



rPRIXTT & IBM 



THE HARD COPY TEAM 'i 

Letter quality printer for all mini and micro computers 

No program modifications required 

Carries IBM Selectric II™ factory warranty 

Service contracts available from IBM and Micro Computer Devices 

Becomes a typewriter at the touch of a switch 



MICRO COMPUTER DEVICES, INC. 




When you add the Selectra- 
Print System 9710 to your com- 
puter or terminal, you've got the 
winning team working for you! 

Selectra-Print gives you letter- 
quality hard copy for your 
system plus the versatility and 
efficienqy of IBM's world-famous 
Selectric II.™ At a fraction of the 
price you would expect to pay for 
a conventional printer alone. 

Just plug it in to any computer 
or terminal. Selectra-Print is 
compatible with all serial and 
parallel ports. No program mod- 
ification or additional interface 
is required. If you own a 
TRS-80,™ there's a special 
Selectra-Print to meet your needs 

Using standard ASCII code, 
Selectra-Print brings all avail- 
able keyboard characters under 
computer control. You can now 
mail, copy or file your com- 
puter or terminal outputs. They 
are even camera-ready for your 
local offset printer. 

In your office, you can use 
Selectra-Print to take over the 
typing chores. Just program 
your computer for the desired 
output, and Selectra-Print de- 
livers forms, correspondence 
and other documents, letter- 



perfect. Addresses, dates and 
other variables can be simply 
typed either manually or by your 
computer or terminal. 

Your Selectra-Print can be used 
as a high quality office type- 
writer, too. Choose either an 
easy-reading 10 characters per 
inch or a space-saving 12 char- 
acters per inch. Or you may order 
your System 9710 with dual 
pitch, which incorporates both. 
For maximum versatility, 
correction is available as an 
option for all systems. 

Selectra-Print comes complete 
with an IBM warranty on the 
typewriter. Micro Computer 
Devices warrants the rest. If, 
after the warranty period ex- 
pires, you would like an annual 
service contract, you may pur- 
chase one for a nominal charge. 
So why pay more for less? If 
you own a computer or terminal, 
why not really put it to work? 
With Selectra-Print and IBM, 
you've got the hard copy team! 



Standard Features 

IBM standard warranty on 
Selectric II™ typewriter 

• MCD standard warranty on 
Selectra-Print 

• Finest printed copy available 

• ASCII typing element 

• 130 characters per line at 10 
per inch, or 155 characters at 
12 per inch 

• Pull upper and lower case 
alphanumeric characters 

• Switch-selectable rates to 
9.6 kbaud (serial port only) 

• Tab command 

• Backspace 

• Index 

• Bell 

• Computer cable set 

• Parallel interface 

• All necessary software in PROM 

• Choice of IBM colors 

Optional Features 

Dual pitch 

Correction 

Noise reduction 

RS-232 serial interface 

Pin feed 

Tractor feed 

All available typing elements 

Annual IBM service contract foi 

Selectric II™ 

Annual MCD service contract foi 

Selectra-Print 



MICRO COMPUTER DEVICES, INC. -» 

3156 East La Palma Avenue, Suite H, Anaheim, California 92806 • (714) 630-8206 
%s Reader Service index— page 241 Microcomputing February 1980 81 



Thoughts on the 

SWTP Computer System 



Part 9 covers three areas: disk systems, debugging and EPROM conversions. 



Peter A. Stark 

PO Box 209 

ML Kisco NY 10549 



This month we will talk some 
more about disk operating 
systems, fixing some BASIC 
bugs and converting the SWTP 
MP-R 2716 EPROM programmer 
to work with 2708 EPROMs. 

Disk Operating Systems 

Since our discussion in this 
series on mini-floppy disk sys- 
tems, I have come across more 
aspects of the situation; my so- 
lutions may be useful to others. 

I have a dual drive Percom 
system that I use almost daily. 
But we have at the office two 
systems with SWTP disk sys- 
tems operating under the FLEX 
operating system. Some time 
ago I decided it would be worth- 
while to have a compatible sys- 
tem in my home office too. 

At just about that time, Pe- 
ripheral Technology Associates 
(PTA), 3848 Hampton Dr., Co- 
lumbus GA 31904, announced a 
compatible disk controller card 
which I purchased and built for 
about $90. I got a cabinet and 
power supply from Percom for 
about $80 and a Wangco drive 
from Heath (their H17-1 add-on 
drive for the H17 disk system) 
and had a single drive system 
running FLEX for under $500. (It 
could have been a lot cheaper if I 
had built my own cabinet and 



power supply.) I wouldn't be sur- 
prised if there are others who 
will take the same approach. 

The Percom system has its 
entire DOS in ROM (and latest 
Percom ads indicate that their 
system is now supplied with 
MINIDOS-PLUSX, rather than 
the more spartan MINIDOS). 
Hence, this system can be used 
with even blank disks. Utilities 
that save, load, delete or rename 
files, initialize the disk and list 
the directory are in the ROM. 
You can take a blank disk 
straight out of the box and im- 
mediately start using it. 

But using FLEX with a single 
disk drive is downright painful 
. . . there's a good reason why 
SWTP doesn't even offer the 
disk system with just one drive. 
The utilities to initialize a new 
disk, save a file on the disk, print 
out the directory, rename or de- 
lete files are themselves disk 
files that must be in the drive 
when you use them. Aside from 
the fact that they take up disk 
space, a more important prob- 
lem is how to get them on a 
blank disk to begin with if you 
only have a single drive system. 
(Incidentally, this dicussion is 
devoted to the so-called mini- 
FLEX version, not to the newer 
FLEXes.) 

The situation is compounded 
by another factor. These utilities 
are written so that they need to 
be given their parameters when 
they are called. As soon as this 
is done, they are fetched off the 
disk and executed. In most 



cases, there isn't any pause dur- 
ing which you can pull out the 
disk they were fetched from and 
substitute the disk you want 
them to work on. Fortunately, 
PTA supplies patches to the 
SAVE and CAT utilities to allow 
saving on and printing the direc- 
tory of disks that do not have 
these commands on them. 

But there are some other 
tricks we can use. To illustrate, 
let's talk about how to set up a 
new disk with just one drive. Re- 
member, you can't execute a 
BACKUP or even COPY one disk 
onto another without at least 
two drives. 

The first step is to initialize 
the blank disk. This is done with 
the NEWDISK command. Insert 
a good FLEX disk into your drive 
and execute the NEWDISK com- 
mand. When the utility comes 
back with ARE YOU SURE?, be- 
fore answering and letting it pro- 
ceed, take out your good disk 
and slip in the blank disk. Now 
answer yes and let the system 
initialize the new disk. 

The next job is to copy some 
utilities from your old disk to the 
new one. The minimum number 
of utilities you will need for a us- 
able system is: 

SAVE.CMD— to save memory 
contents to disk 
SAVE. LOW— to save other com- 
mands to disk 

CAT— to print the directory (cat- 
alog) of the disk 
DELETE— to delete files no 
longer needed 

It might also be useful to copy 



the following utilities: 

DOS.SYS— the FLEX DOS itself, 

so the system can be started 

with this disk 

LINK— to link the DOS to the 

bootstrap 

RENAME— to rename files 

LIST— to print out the contents 

of text files 

and possibly BASIC or EDIT, etc. 

PTA provides a patch for the 
SAVE.CMD utility to allow sav- 
ing on a disk that doesn't have 
the SAVE command. If you fol- 
low their instructions, you 
should have no trouble modify- 
ing the SAVE and then using it 
to save itself onto the new disk. 
But the SAVE.CMD utility lies in 
the same memory space as 
some of the other utilities, so it 
cannot be used to save them. 
Hence we need SAVE. LOW, an- 
other version of the SAVE, but 
which lies in low memory. 

In general, we use the normal 
SAVE to save programs that are 
in low memory and SAVE. LOW 
to save programs in high mem- 
ory. It is no problem to load 
SAVE.LOW off the original disk, 
but to save it on the new disk we 
need to know where in memory 
it is. And that is not in the 
manual. 

So we need a way of looking 
at existing disk files and exam- 
ining their addresses to see 
where in memory they belong. 
FLEX doesn't come with that 
utility, although a $99 FLEX Utili- 
ties package from Technical 
Systems Consultants (Box 2574, 
W. Lafayette IN 47906) does con- 



82 Microcomputing February 1980 



Name 


Addresses 


Transfer Address 


CAT 


0100-02E7 


0100 


APPEND 


0100-02CB 


0100 


LIST 


7600-772C 


7600 


RENAME 


7600-7673 


7600 


BUILD 


7600-7690 


7600 


ASN 


7600-76B6 


7600 


DELETE 


7600-770E 


7600 


JUMP 


7600-7622 


7600 


LINK 


7600-7692 


7600 


NEWDISK 


0200-05FB 


0200 


SAVE.CMD 


7600-771 E 


7600 


SAVE.LOW 


0100-021 E 


0100 


TTYSET 


7600-773C 


7600 


DOS.SYS 


7080-7FFF 


7100 


BASIC v. 3.0 


0100-243D 


0100 


Table 1. 


Mini-FLEX routine addresses. 



tain a MAP utility that will pro- 
vide the starting and ending ad- 
dresses and the transfer ad- 
dress for any disk file. 

(As a slight detour, let's brief- 
ly describe this program pack- 
age. It contains 36 disk utilities 
designed for Mini-FLEX (see the 
discussion of this topic in the 
November 1979 Kilobaud Micro- 
computing). I wish that the utili- 
ties were available separately, 
since in my opinion there are on- 
ly a few in the package that are 
really useful; the rest will prob- 
ably never be used by many. A 
listing of what they include is 
provided later.) 

Fortunately, a similar utility 
caffed LOCATE, written by Den- 
nis Womack, was published in 
the June 1979 issue of 68 Micro 
Journal (PO Box 849, Hixson TN 
37343). It allows you to deter- 
mine where in memory a given 
disk file belongs. I find it to be al- 
most indispensable to a single 
drive system. 

In case you have the same 
problem, Table 1 has the infor- 
mation you will need for several 
of the more common utilities. 
(Caution: Table 1 is for version 1 
of all of these utilities; there may 
be newer versions that may oc- 
cupy slightly different memory 
addresses.) 

So the procedure for copying 
a file, such as SAVE.LOW, goes 
like this: 

1. Put the old (original) disk 
into your drive. 

2. If you have the MAP or LO- 
CATE utility, run it to find the 
first and last addresses of 
SAVE.LOW; if not, consult Table 
1. 

3. GET SAVE.LOW to load 



the utility into memory. 

4. Take out the FLEX disk 
and put in the new disk you are 
loading. 

5. Save the utility from mem- 
ory onto the disk with, in this 
case, the command SAVE 
SAVE.LOW 0100 021 E 0100. 
(This assumes you already have 
the modified SAVE on your new 
disk.) 

From now on, each succeed- 
ing file gets transferred in exact- 
ly the same way, using either 
SAVE.CMD or SAVE.LOW to 
save it on the new disk. 

There is one problem here: 
this procedure will not copy text 
files. Text files that happen to be 
BASIC programs can be loaded 
and saved by BASIC, but other 
files — such as text editor files — 
cannot. The simplest, though 
lengthy, method is to dump the 
file on cassette with the editor, 
then restart the editor with the 
new disk and read the text back 
in from cassette. This does re- 
quire, though, that you copy the 
editor itself onto the new disk 
first. 

A single-disk copy program 
can save the day. A Mini-FLEX 
version was shown on page 15 
of the February 1979 issue of 
'68' Micro Magazine. Because of 
copyright problems, I can't re- 
print it here, but you may find it 
useful because it can copy all 
kinds of files— text and binary. 

Putting a Pause 
in FLEX Utilities 

The above discussion as- 
sumes that you save each utility 
on the disk you want to use it on. 
But there is another approach. 
The utility can be modified to 



pause after it is loaded long 
enough to let you switch disks. 
Here's how. 

Every FLEX utility starts off 
with a sequence of instructions 
as shown in Example 1. That is, 
every FLEX utility starts with 
BRAnch (operation code 20), fol- 
lowed by an FCB. The purpose 
of the FCB is to hold the version 
number of the utility. All of the 
utilities that I have seen were 
version 01. 

In some of the utilities, the 
CONT step comes right after the 
version number. In that case, the 
sequence is shown in Example 
2. In these utilities, the first 
three bytes (20 01 01) could be 
removed without any trouble. 
The simplest thing is to replace 
them with a BD E1 AC— a JSR to 
INEEE. Then as soon as the utili- 
ty is started, it will immediately 
wait for an input from the key- 
board. You simply pull out the 
disk, put in the new one, hit any 
key on the keyboard and con- 
tinue. 

If CONT does not occur right 
after the version number, then a 
different approach is needed. 
The simplest approach is to re- 
place the first three bytes with 
7E E0 E3, that is, a jump back to 
the monitor. As soon as you see 
the monitor prompt, you switch 
disks and then jump to CONT 
from the keyboard. This means, 
of course, that you have to look 
at the utility first to see where 
that first BRA goes to. 

The MON <Parameters> 
Approach 

Most FLEX utilities require 
some parameters to be given to 
them when they are called. For 
instance, the LIST utility re- 
quires a filename right after the 
word LIST. You can supply the 
filename in a slightly different 
way. 

To LIST a file called TEXT, 
type in the following: 

LIST TEXT 

FLEX accepts this line in a buf- 
fer, scans it for the command 
name LIST, sets a pointer past 
the LIST, loads LIST from the 
disk and then executes it. The 
LIST utility then uses the point- 
er, which FLEX had used to get 
the filename TEXT from the rest 
of the command line. 

But there is another way to 



get the parameter to the LIST 
program. First, refer to Table 1 
to find out that LIST starts at lo- 
cation 7600. Then proceed as 
follows: 

GET LIST.CMD Load LIST into 

memory, but do 
not execute 
MON TEXT Return to the 

monitor, but 
leave the pa- 
rameter TEXT 
in the FLEX in- 
put buffer 
$J 7600 Now jump to 

the beginning 
of LIST. 
When LIST starts, it goes to 
the buffer and takes out the file- 
name, without even noticing 
that it was preceded by MON, in- 
stead of by LIST. And everything 
works exactly the way it is sup- 
posed to. 

Now comes the good part. 
Since the loading of LIST from 
disk with the GET is done 
separately from the execution of 
it, you can switch disks any time 
between the GET and the J. 

Since I have a Percom disk 
system as well as one FLEX- 
compatible drive, I keep one 
complete set of FLEX DOS and 
utilities on a Percom disk. The 
entire dialog for getting DOS 
and a few utilities on a blank 
disk is shown in Listing 1. (The 
Percom DOS is brought in from 
SWTBUG with the Z command; 
the Percom DOS prompt is >; 
and the FLEX prompt is + + + .) 
Notice how we flit back and 
forth between the Percom DOS 
and FLEX. In each case, we pre- 
pare the parameters in the MON 
statement but actually call the 
FLEX routine from the Percom 
disk. 



START BRA CONT 
FCB $01 



CONT continuation of program 



Example 1. 



20 01 START BRA CONT 
01 FCB $01 
.... CONT 

Example 2. 



Microcomputing February 1980 83 



Transferring Text Files 

Another problem is how to 
transfer text files from one disk 
to another or from a cassette- 
based (or other DOS-based) TSC 
Editor to FLEX. If you cannot get 
a copy of the single-disk copy 
program mentioned earlier, then 
you will have to do it the hard 
way. 

First, we need to know that 
the pointers for the start and 
end of text in the TSC editors are 
in addresses 0097-009A in cas- 
sette, SSB disk and Mini-FLEX 
versions, and in 0098-009B in 
the FLEX 2.0 version. 

Second, we need a graceful 
way of getting out of the Mini- 
FLEX editor back to the monitor 
without pushing RESET. The 
easiest way is to disable the 
GAP command by putting a 7E 
E0D0 instruction in location 
141 F; now a GAP command in 
the editor will go back to SWT- 
BUG (I'm not sure what the cor- 
rect address is in FLEX 2.0). 

Now assume we want to 
transfer a file SAMPLE.TXT from 
disk 1 to disk 2. First, put a copy 
of the editor on both disks. (Disk 
1 and disk 2 need not both have 
the same DOS; in my case, disk 
1 might be a Percom disk, while 
disk 2 might be Mini-FLEX.) 

On disk 1 , start the editor with 
file SAMPLE.TXT. Once the edi- 
tor is operating with the text, ex- 
it to the monitor. Look in the be- 
ginning and end-of-text pointers 
for the starting and ending ad- 
dresses of the text and use the 
monitor (without reentering the 
editor) and save the entire text 
on cassette. (Write down the 
starting and ending addresses.) 

In FLEX, this may leave an ex- 
tra file on disk 1 with sectors, 
since the name has already 
been entered into the directory, 
but no writing has been done. 
Just delete it. 

Now go to disk 2. Again start 
the editor, giving SAMPLE.TXT 
as the filename. When the editor 
comes back with 
NEW FILE 
1.00 = 

just type a number sign to get 
back into the editor command 
mode. Now gracefully get back 
to the monitor (using the modi- 
fied GAP command) and then 
back into the DOS. Read the pre- 



viously saved text from cassette 
and restore the pointers in 0097- 
009A. Then jump back into 0203, 
the editor soft-start location. Lo 
and behold, your text is now in 
the editor. A STOP command 
will write it on the disk. 

The FLEX P Command 

FLEX has a command called 
P that allows all output to be fed 
to a parallel printer connected to 
port 7. It actually requires two 
disk files: P.CMD and PRINT. 
SYS, which is used along with it. 
Whenever any command is pre- 
ceded by the letter P, all output 
from that command is steered 
to the printer rather than the ter- 
minal. 

For those of us who have a 
serial printer, however, this re- 
quires some changes. In my 
case, I have a serial printer on 
port and a CRT terminal on 
port 1. I started changing the P 
and PRINT commands following 
instructions in the FLEX manual 
but eventually came up with a 
simpler method. 

FLEX location 710D normally 
points to E1D1, the address of 
OUTEEE in the monitor. This 
vector is initialized every time 
FLEX restarts by the following 
two instructions: 

71 CD FE 7137 LDX $7137 
71 DO FF 71 0D STX $71 0D 

and location 7137 therefore also 
has the address E1D1 in it. 
Hence, if we change the address 
in location 7137, we will force 
FLEX to use another output rou- 
tine. 

My TTY.CMD command is 
shown in Listing 2. (Addresses 
CB04 and CB16 point to port 
I/O routines I have stored in a 
2716 EPROM; see my article in 
the July 1979 issue for their list- 
ing.) 

Thus, every time I call the TTY 
command, this routine initial- 
izes port and puts into location 
7137 the address of the above 
OUTPUT routine. Hence, all 
FLEX output will be echoed to 
my printer as well as to the CRT. 
When I want to go back to CRT- 
only operation, I execute a CRT 
command. CRT.CMD simply re- 
sets 7137 back to its original 
value of E1D1 and jumps to 
7103, the FLEX soft-start ad- 
dress. CRT-CM D was stored on 
the disk with 



SAVE CRT.CMD 7137 7138 7103 
before location 7137/8 was 
modified. 

This pair of commands has 
worked very well for me, and is 
much simpler than the approach 
suggested in the FLEX manual. 

Port Change in TSC BASIC 

TSC BASIC has no facility for 
changing the control terminal 
port; there is a way of switching 
to a printer on another port, but 
it is clumsy and requires quite a 
bit of programming know-how to 
implement. Here's an easier way 
to switch to a serial printer us- 



3. By doing a POKE in BASIC. 

In SWTP BASIC, the POKE in- 
struction would be 
POKE (40971,0) 
while in TSC BASIC it might be 
POKE HEX("A00B"),0 
to switch to port 0. You can do 
this globally for an entire pro- 
gram, which would switch both 
input and output to that port, or 
you can steer only output to an- 
other port by poking in a just 
before the PRINT and then pok- 
ing back a 4 just after. 

There's only one catch— that 
port must be initialized before it 
is used. You could write your 



$z 


Starts the Percon DOS 


>D0S 


Loads and executes FLEX 


FLEX 1.0 


FLEX is now in control 


♦♦♦HON 


Return to SUTBUG with in buffer 


IZ 


Back to Percon DOS 


>NEUDSK 


Execute NEUDISK on disk 


ARE YOU SURE? Y 




SCRATCH DISK IN DRIVE 0? 


Y 


FORHATTING COMPLETE 




TOTAL SECTORS =612 




♦♦♦HON DOS. SYS 7080 7FFF 


7100 Prepare to save DOS 


12 




>SAVEL0 


Fetch SAVE. LOU fron Percon and run 


♦♦♦HON DOS. SYS 


Get ready to LINK it 


tz 




>LINK 


Get LINK fron Percon and run it 


♦♦♦HON LIST.CHD 7600 772C 


7600 Prepare to save LIST 


12 




>L LIST 


Load LIST fron Percon 


>SAVEL0 


and save it on FLEX disk 


♦♦♦HON 


Prepare to do a CAT of drive 


IZ 




>CAT 


Execute a CAT 


CATALOG OF DRIVE 




NAHE TYPE SIZE 




DOS .SYS 33 




LIST .CMD 3 




SECTORS LEFT = 576 




++♦ 




Listing 1. Initializing a FLEX disk on one drive. 



ing an MP-S or MP-C card. 

FLEX, as well as TSC BASIC, 
uses the INEEE and OUTEEE 
routines in SWTBUG. Both of 
these use a pointer in the 
scratchpad RAM at location 
A00A, which points to 8004, the 
address of port 1. If you change 
that pointer to 8000, they will ac- 
cess port instead; 8008 will ac- 
cess port 2, and so on, Actually, 
only the number in A00B need 
be changed from 04 to 00 or 
whatever. 

You can do this in one of three 
ways: 

1. By using the monitor M 
command 

2. By writing a separate rou- 
tine to store the required pointer 



own routine to initialize it, but in 
the case of port there is a rou- 
tine to do that in SWTBUG in the 
form of the O command. Typing 
an O E before going into FLEX 
initializes the port interface. 
For this reason, port is easier 
to use than other ports. 

BASIC Bugs 

SWTP Disk BASIC version 3.0 
will work with ports other than 
the control port, but it does not 
like an MP-S port anywhere else 
than port 1. This is due to the 
way in which it tests for the pres- 
ence of a valid port before using 
it. Though it's possible to mod- 
ify the routine, the easiest way 
is to completely disable it by 



84 Microcomputing February 1980 



Canadian 

8K MEMORY KITS 

M1— Fast Signetics 21L02-1 RAMs with 20 
pages of Documentation— solder mask Low 
power Schottky— S-100 Bus— Full Buffering 

$179.95 

M2— as above with DIP switch address select 
and Robinson Nugent IC sockets only $199.95 

MEM1— WAMECO bare board as used in 
above kits $39.95 

Write for info on WAMECO CPU and other 
S-100 bare boards. 



COMPUTER 

(MTTHON MOLDINGS LTD) 



ORTHON 

12411 Stony Plain Rd 
Edmonton, Alberta Canada T5N3N3 




(The Net Works is now) 



TNW 



^T56 
Corporation 

Ask your dealer or contact — 
ASTRONICS • (714) 278-5441 
3351 Hancock St. • San Diego C A 92 1 1 



CASSETTE 
DUPLICATION 



TRS-80 (I & II), PET, APPLE, KIM, ATARI 

Quality software duplication is more 
than copying cassettes. Microsette du- 
plication uses a proprietary high speed 
duplicator designed specifically for 
computer program duplication. The fin- 
ished products are of consistent quality, 
guaranteed to load. Minimum order is 
100 with discounts for higher quanti- 
ties. Call (415) 968-1604 for details. 



mmmmmmmmm mmm 



irsr 







far 



MICROSETTE CO. 

475 Ellis Street 
Mt. View, CA 94043 



• M132 



PET PERIPHERALS 

(FOR OTHER IEEE 488 BUS COMPUTERS. TOO) 

NEW - RS-232 INTERFACE: $229 

The TNW-2000 Bidirectional Serial Interface allows 
keyboard input as well as printer output The unit 
provides selectable automatic PET/ASCII character 
conversion, "throttled" output, baud rate adjustable 
from 1 1 to 9600 bits per second $229 price includes 
power supply, cabinet, PET/IEEE cable, built-in female 
EIA connector, full documentation (For software con- 
trollable RS-232 control lines, and multiple RS-232 
devices, TNW offers the TNW488/232 Serial Interface 
Price is $335, includes power supply, cabinet, PET 
cable, full documentation.) 

MODEM 

The TNW488/103 Low Speed Modem is Bell 103 
compatible, provides auto onginate/answer/dial capa- 
bilities 75 to 600 bits per second Interfaces to phone 
system via DAA Price of $385 includes power supply, 
cabinet, cables to PET and DAA, full documentation and 
software 



Key -RjX Electronics 


<&&$> .*! 


«%*$ 


lijPP* 


Full ASCII Professional 


aesP 9 


#**pp£ 


Keyboard Kit, Modal 758 ^^| 




s>s* 


Model 756 Keyboard Kit 




$64 95 


Model 701 Plastic Enclosure 




14 95 


Model 702 Steel Enclosure 




29 95 


Model 710 Numeric Keypad 




995 


2376 Keyboard Encoder IC 




995 


1 5 pin Dual edge connector* 




1 95 


*(FREE with ALL keyboard orders) 






INTEGRATED CIRCUITS: 






SN76477N Complex Sound Generator 




$295 


TL489C Analog Level Detector 




1 25 


LM317T Adj. Volt. Reg. 1.5 amp 




275 


ICM7555 Low Pwr CMOS Timer 




1 25 


LF351N High Speed JFET Op Amp 




75 


NE 565 Phase Locked Loop 




1 10 


FREE CA3 I 40 with orders of $5 00 or 


more 




Please include $1 00 for postage and hand 


ing 


NY S. Residents Add 4% Sales Tax 




Send to: Key Electronics 






P.O. Box 3506 




^K14 


Schenectady, NY 12303 





SBASIC 



NEW revision 4.0 of SDASIC. All the feotures 
of SDASIC (cose structure, procedures, etc.) 
plus LINK stotement to copy externol 
source files ot compile time, multiple state- 
ments per line, and more. Compile time 
performance has been improved by 50 per- 
cent. Available on CP/M* disk and TRS-80* 
diskette for $50, listing $35, manual $10. 




313 Meadow Lane 
Hastings, Michigan 49058 

(616) 945-5334 
(Dealer inquiries invited) 

*CP/M and TRS-80 are trademarks of 
Digital Research and Tandy Corp. I^U12 



16 K UPGRADE 

$66 95 

TRS80, APPLE II, 
AND SORCERER 



HIGH QUALITY PRIME 16K RAMS FOR MEMORY 
UPGRADE. THE KIT INCLUDES, THE RAMS, 
SHUNTS AND INSTRUCTIONS TO ALLOW EASY 
UPGRADE IN MINUTES. ALL PARTS CARRY 12 
MONTH WARRANTY. 

TO ORDER, SPECIFY KIT AND ENCLOSE CHECK 
OR MONEY ORDER. ADD $2.00 POST AND 
PACKING; TEXAS RESIDENTS ADD 5% SALES 
TAX. 

IAN ELECTRONICS 
P.O. BOX 14079 " ,47 
AUSTIN, TEXAS 78761 




HOME FINANCE PROGRAM, The most 
complete and concise home budgeting 
program for the Apple II. Simply laid out 
and easy to use. 

• 1 75 entries/twelve catagories per 
month or year. 

• Month-to-date, year-to-date 
summaries. 

• Classifies tax deductible 
expenditures. 

• Balances and reconciles checkbook, 
etc. 

A household necessity! Includes 30 page 
manual. PRICE: $39.95 

OMNIBUS BANKING & FINANCIAL PAK. A 
program designed to aid businesses and 
consumers in long or short range finan- 
cial planning. 

• Examines investments, savings and 
annuities,- mortgages and loans,- 
depreciation and amortization 
schedules and much more. 

A must for the capital conscious person! 
PRICE: $59.95 

APPLE II TEXT PROCESSING SYSTEM, A true 
text editor and assembler. Create and 
edit integer, Applesoft* and Assembly 
language programs! 

• Cumbersome line numbers are no 
longer needed. 

• Basic programs can be converted 
into text files, edited, then converted 
back. 

• Uses all 56 standard 6502 opcode 
mnemonics, plus 6 additional pseudo 
opcodes. 

Includes 43 page manual. 

PRICE: $55.00 



GAME DISK 

TRY YOUR LUCK! Slots, roulette, craps and 
blackjack. (All odds listed). 

DIET, Individually charts a total weight loss 
program and schedule. 

BIORHYTHM, Separate critical day listing 
with graph. 

LONGEVITY, Based on medical statistics. 
How long will you live? Uncanny! 

Requires Applesoft. PRICE: $39.95 



*Apple II and Applesoft are trademarks ^^\ MC/VISA 
of Apple Computers Inc. iflfl SV**SBafea 

iS D63 ^^P^«a2 

ninitfil 267 ° Cherrv Lane 

Uiyilal Walnut Creek, CA 94596 

Marketing 



(415)938-2880 



Dealer inquires welcomed 



B 



iS Reader Service index— page 241 



Microcomputing February 1980 85 



changing the byte in location 
1472 from 26 to 20. Just be sure 
not to try to use a port that has 
nothing connected. (Previous 
SWTP BASICS had the same 
problem; in cassette version 2.0, 
the location to change is 121 B.) 

When using port with an MP- 
S, the MP-C initialization of port 
should then be removed and 
initialization done separately. 
Change location 010C to 39 
(RTS) and use the O E command 
to initialize your port 0. 

BASIC version 3.0 doesn't like 
the combination ;: in a PRINT, as 
in 

PRINT A$;:REM DON'T SKIP TO 
NEW LINE 

Another statement it doesn't 
like is 

FOR I = JTON 

which is OK if spaces are in- 
serted before and after the TO. 
Both fixes are probably not 
easy; the best answer is to just 
avoid the problem. 

John Tucker of Laredo TX has 
sent me some other comments. 
With some printers, the extra 
control characters sent as part 
of a carriage return/line feed 
cause a space to be printed on 
some lines. He suggests chang- 
ing location 053A to SWTP Disk 
BASIC version 3.0 to 00 to elim- 
inate it. 

He also reports a bug in early 
versions of TSC BASIC. If your 
CHR$, LEFTS, MID$ and RIGHTS 
functions don't work, change lo- 
cation 1DD7 from 56 to 55. 

He also mentioned that TSC 
BASIC makes an error with 

10 F6 = 
20 F8 = 1 
30 LET F9 = SQR(F8 + F6) 

A. G. Pearson of Austin TX 
also has reported some BASIC 
bugs. SWTP version 2.0 gives 
the wrong answer for ATAN(X) if 
X is negative. For example, 
ATAN( - .9999999) comes out 
+ 45 degrees (in radians, of 
course), while ATAN(-1) is 



- 135 degrees. Both of these an- 
swers should be -45 degrees. 
He suggests that some of the 
formulas given in magazines, 
such as in the April 1978 issue of 
Kilobaud Microcomputing for 
arccos and arcsin have been 
doctored to make up for the 
wrong ATAN and will give the 
wrong answer if used with a BA- 
SIC that gives the right result for 
ATAN. 

He also mentioned that TSC 
BASIC also makes errors with 
ATAN. By the way, it's called 
ATN in TSC BASIC. The example 
he gave was 

10 A = ATN(-1) 
20 PRINT A 
30 X=TAN(A) 
40 PRINT X 

The value of A is printed correct- 
ly, but line 30 gives an error 
message. The moral here is that 
many BASICS don't handle tan- 
gents and arc-tangents correct- 
ly, so you must be careful. 

He further mentioned that 
TSC BASIC will accept ? instead 
of PRINT and that PRINT FRE(0) 
will print the number of bytes 
still available. 

Finally, TSC BASIC some- 
times returns an EXPRESSION 
TOO COMPLEX when EXPRES- 
SIONS should be simple enough 
to evaluate. If you have this 
problem, break up the expres- 
sion into several smaller ones. 

Black PR-40 Ribbons 

Jim Weisjahn of Medford MN 
wrote in to let me know that 
black ribbons for a PR-40 are 
available from Addressograph- 
Multigraph as part number 
116-2395-116 and cost $25 for a 
box of 12. 

CT-64 Bugs 

In the first installment of this 
series (March 1979), I mentioned 
that my CT-64 had some bugs 
and wondered whether others 
had them too. Reader letters in- 



A050 


BD 


CB04 


TTY 


JSR IZPT0 


Initialize Port 


A053 


CE 


A05C 




LDX OUTPUT 


Get pointer to routine 


A056 


FF 


7137 




STX 17137 


Give it to FLEX 


A059 


7E 


7103 




JHP 17103 


Jnp to FLEX soft start 


A05C 


36 




OUTPUT 


PSH A 


Save the character 


A05D 


BD 


E1D1 




JSR OUTEEE 


Print on CRT terminal 


A060 


32 






PUL A 


Get character again 


A061 


7E 


CB16 




JHP 0UTPT0 


Print it on printer 






Listing 2. 


TTY.CMD utility listing. 



dicate that many of my prob- 
lems are fairly universal. 

Sometimes a letter would ap- 
pear smudged on the screen. In 
my case, sometimes, when an r 
followed a p, the r would have an 
extra horizontal line at the bot- 
tom. 

Since I had an extra (defec- 
tive) CT-64, I decided to swap 
parts around to see what hap- 
pened. This particular problem 
seems to be related to the oper- 
ating speed of the 2102 mem- 
ories and the MCM6575L char- 
acter generator. As they heat up, 
they apparently start to slow 
down a bit, and this causes the 
problem to appear. 

I found that replacement of 
one or two 2102s usually solves 
the problem; the trick is to find 
which 2102. I use three tech- 
niques: 

1. Tightly grab the IC, thumb 
over the IC and index finger on 
its pins, on the other side of the 
board. When you grab the defec- 
tive IC, the errors on the display 
should get worse; grabbing ICs 
that are good should make little, 
if any, difference. 

2. Take a 5 to 10 pF disk ca- 
pacitor and ground one lead 
through a clip-lead. Carefully 
touch the other lead to pin 12 of 
each 2102 RAM. This is the out- 
put lead. If one of the RAMs is 
marginal in speed, the addition 
of this capacitor will slow down 
the output some more and make 
the error worse. 

3. Use a circuit cooler spray 
to cool each RAM, one at a time. 
When you cool off the right IC, 
the display should get better. 

Also try to cool the MCM6575L 
character generator; you will 
probably find that it, too, is heat 
sensitive. But it should not be re- 
placed until after you try the 
memory tests. 

IC replacement will work if the 
replacement ICs are fast. How- 
ever, there are some 2102s 
around that are very slow. An ac- 
cess time of 450 ns seems just 
barely OK; 250 ns units are not 
much more expensive and 
should be a satisfactory choice. 

Since heat seems to make it 
worse, limiting the temperature 
of these ICs is another ap- 
proach. The CT-64 is not particu- 
larly well ventilated; a few small 
openings in the case might help. 



If you have 16 RAMs on the 
memory board but never use the 
second page, then removing the 
bottom eight will keep the top 
eight cooler. 

If you suspect the MCM6575L, 
before replacing it, you might 
consider epoxying a small alu- 
minum heat sink to its top; it nor- 
mally runs very hot. 

Another CT-64 problem is an 
occasional blank. A letter from 
Miguel Delgado in Brazil sug- 
gested a fix that he apparently 
got from SWTP. On the mother- 
board, cut pin 5 of IC33 and lift it 
up so it is disconnected from the 
board. Solder a wire from this 
lifted-up pin 5 to IC16, pin 11. He 
said that it completely cured his 
problem; unfortunately, it did 
absolutely nothing for my unit. 

FLEX Utility Package 

The 36 utilities in TSC's FLEX 
utility package are divided into 
six volumes of six utilities each. 
They include the following: 

Volume 1: 
FIND— searches a text file for 
occurrences of a specific text 
string. 

WORDS— scans a text file and 
prints out the number of words 
and lines in the file. 
TYPOS— prints out a listing of 
all words in a text file that occur 
fewer than a specified number 
of times. Ideal for looking for 
misspelled words. 
SPLIT— splits a text file into two 
files. 

LOW-UP— converts all lower- 
case letters in a file into upper- 
case. 

UP-LOW— the opposite of LOW- 
UP. 

Volume 2: 
DUMP— prints the contents of a 
file in both hex and ASCII. 
OLOAD— loads a binary file into 
a different region of memory 
than it is intended for. Ideal for 
PROMing programs. 
CHECK— compares two files 
against each other and prints 
out their differences. 
CMPMEM— compares a disk 
file against memory contents. 
FILTYP— prints out whether a 
file is text or binary. 
DUP— compares the directory 
of one disk to another and prints 
out differences. Requires two 
drives. 

Volume 3: 



86 Microcomputing February 1980 



MAP— prints out the loading 
and transfer addresses of binary 
files. 

DIR— prints a more thorough 
disk directory, including disk 
sectors. 

INSTALL— changes a BIN ex- 
tension into a CMD extension. 
FREE— prints the number of 
sectors and kilobytes still free 
on a disk. 

REPLACE— combines the func- 
tions of a DELETE and RENAME. 
TEST— tests all diskette sectors 
for errors. 

Volume 4: 
FILES— is a variation of the CAT 
command that omits the num- 
ber of sectors printout. 
PRUL— converts old TSC text 
processor files containing all 
uppercase letters into upper and 
lowercase files. 

DATE — allows setting and 
checking the data register in the 
DOS. 

RPT— repeats a command line a 
specified number of times. 
ECHO— accepts keyboard input 
and sends it back to the termi- 
nal. 

HECHO— similar to ECHO, but 
accepts input in hex. 

Volume 5: 
FLIST— version of LIST com- 
mand, but allows the inclusion 
of line numbers and breaking up 
into pages. 

PDEL— a prompting DELETE for 
deleting a number of files from a 
disk at the same time. 
SLEEP— a time delay program. 
REMSPC— removes space from 
a text file. 

CONCAT— lists several files, 
one after another. 
CONTIN— used in EXEC com- 
mands to give the operator a 
chance to continue the com- 
mand or not. 

Volume 6: 
1NTEG— tests the free sectors 
of a disk for data integrity. 
RECOVER— allows specified 
sectors of a file to be copied to 
another disk. Especially useful 
for recovering the contents of a 
disk after its directory has been 
damaged. 

MEMTEST— performs a memory 
test. 

MEMDUMP— dumps a selected 
portion of memory. 
MEMOVE— moves a block of 
data from one memory area to 
another. 



MEMFILL— fills a memory area 
with a specified byte. 

Power Supplies 

The first installment of this 
series (March 1979) dealt with 
power supply regulation. I had 
at that time mentioned install- 
ing a voltage regulating trans- 
former as one possibility. My 
Sola regulating transformer 
cost $190 but has saved the day 
on several occasions when the 
lights visibly flickered while my 
local power company had trou- 
ble delivering my 10c-a-kwhr 
power without interruption. 

Shortly after that, I received a 
letter from Gimix, Inc. (1337 
West 37th Place, Chicago IL 
60609), enclosing information 
on their new SS-50 system. The 
interesting thing about their 
system— aside from the fact 
that the cabinet looks as though 
it's built like a tank— is that their 
power supply contains a ferro- 
resonant constant-voltage 
transformer to provide regula- 
tion. It would appear that in 
many locales having poor pow- 
er, this might be a real neces- 
sity. 

Power supply regulation 
seems to be a problem in gener- 
al. On a recent visit to a mini- 
computer installation in one of 
New York's largest skyscrapers, 
I noticed two big regulators on 
the power line. It seemed that 
the system wouldn't run reliably 
without them. In our own office, 
we have run an IBM and a DEC 
system straight off the power 
line for years without problem, 
but our SWTP systems tend to 
crash fairly often, as does a Ra- 
dio Shack TRS-80 and a Heath 
H8 that we tried. We are going to 
try regulators to see if they 
help. 

Talking about cabinets, does 
anyone make a rack mount kit 
for the SWTP computer? 

TRS-80 Graphics? 

You can't help but see some 
of the games people play on Ra- 
dio Shack's TRS-80 computer. 
How would you like to be able to 
run the same ones on your 
SWTP, and even get all the same 
graphics? 

Photo 1 doesn't do it justice, 
but F & D Associates (1210 Todd 
Road, New Plymouth OH 45654) 




Photo 1. PBM-1 display. 



has a new video board which 
does just that. It's their PMB-1 
video controller, which sells for 
$37.50 for the bare board and 
documentation. It has several 
exotic ICs, including the Moto- 
rola MC6845 CRT controller and 
an MCM66714P character gen- 
erator, so its parts cost may add 
another $100 or more, but even 
this is reasonable for what the 
board offers. 

The MC6845 CRT controller 
allows the board to be pro- 
grammed into a variety of dis- 
play formats, such as 16 lines of 
32 characters, 24 lines of 80 
characters and many other com- 
binations, although small board 
changes may be needed in some 
cases. As more characters are 
put on a line, the spacing be- 
tween the dots used to generate 
them has to be smaller, and so 
an on-board crystal oscillator 
must run at a higher frequency. 
Also, the more characters dis- 
played, the faster the on-board 
memory must operate to fetch 
and decode them. 

The MCM66714P character 
generator (or one of the others in 
the MCM66700 series) allows a 
variety of standard character 
sets, including upper and lower- 
case. In addition, the board has 
room for either a 2716 or a 2708, 
which can contain special char- 
acters such as graphics or APL. 
The board, which F & D let me 
play with, had been prepro- 
grammed to duplicate the 
TRS-80 graphics set. 

The board also has room for 



up to 4K of RAM memory, which 
is the screen memory, but which 
can also be used for standard 
read-write operation. It's fasci- 
nating to watch the display as a 
BASIC program POKEs data in- 
to this memory area. 

There is also room on the 
board for a 6820 or 6821 PIA for 
two parallel ports, which can be 
used for a parallel keyboard or 
printer. F & D Associates also 
has an EPROM monitor program 
that allows this keyboard and 
the video board to replace the 
serial terminal you normally 
need with an SWTP system. The 
board also has a lightpen input. 

With all this, the board is ex- 
tremely flexible, but it all de- 
pends on the MC6845 CRT con- 
troller. You must carefully read 
the spec sheet for this IC if you 
want to use some of its more ad- 
vanced features. The board al- 
lows either black on white or 
white on black display, either on 
the full screen or for individual 
characters. Scrolling and pag- 
ing are easy; the cursor is fully 
programmable, etc. The possi- 
bilities are quite staggering. But 
the most intriguing feature, to 
me at least, is the possibility of 
configuring the board so it be- 
haves like something else. 

To make life more interesting, 
F & D loaned me a modifed ver- 
sion of SWTP 8K BASIC version 
2.3, which was expanded to in- 
clude the TRS-80 graphics com- 
mands. These included CLS for 
clearing the screen, SET and RE- 
SET for turning a dot on the 



Microcomputing February 1980 87 



screen on and off, INV for tog- 
gling it from on to off and vice 
versa and a PRINT AT com- 
mand, which prints at a speci- 
fied screen position. Using this 
BASIC, I was able to run a stan- 
dard TRS-80 graphics program 
(see Photo 1). 

Building this project is not for 
beginners. There are many op- 
tions to consider before build- 
ing, and F & D's instruction man- 
ual, though quite complete as 



far as diagrams are concerned, 
is a little skimpy on words. I 
started to build an earlier board 
of theirs a year or two ago but 
eventually just gave it up. Their 
present manual is better, but 
you still have to know where to 
search for what you need. 

For instance, there are sever- 
al DIP and rotary switches on 
the board for setting memory 
addresses for the control port 
and RAM. When I wanted to find 



NAM PATCH 

* BASEDIT PATCH TO PERMIT INPUT OF * 

* STARTING LINE NUMBER FOR * 

* RENUMBERING A BASIC PROGRAM. • 

* BY * 
« PETER A. STARK * 
************************************ 



(02E?) 
(E07E) 
(E1AC) 
(E1D1) 
(015C) 
(0303) 



(0111) 
0111 B7 04E8 

(0204) 
0204 CE 04E8 

(021D) 
021D CE 04E8 

(0254) 
0254 CE 04E8 

(0378) 
0378 CE 04E8 

(03E7) 
03E7 CE 04E8 

(0114) 
0114 CE 04E9 



* EQUATES 

LINENO EQU 

PDATA 

INEEE 

OUTEEE 

CRLF 



EQU 
EQU 
EQU 
EQU 



SQL0OP EQU 



* MOVE 



START 

ORG 

STA A 

ORG 

LDX 

0R6 

LDX 

0R6 

LDX 

ORG 

LDX 

ORG 

LDX 

0R6 

LDX 



I02E9 
$E07E 

♦ E1AC 
IE1D1 
$015C 
$0303 

OF TEXT 

«0111 

TEXT 

$0204 

UTEXT 

$021D 

HTEXT 

$0254 

•TEXT 

$0378 

UTEXT 

$03E7 

UTEXT 

$0114 

ITEXT+1 



• ACTUAL PATCH 



(0300) 




0R6 




$0300 


0300 7E 


0498 




JMP 




PATCH 


(0498) 




ORG 




$0498 


0498 86 


31 


PATCH 


LDA 


A 


• '1 


049A B7 


02E9 




STA 


A 


LINENO 


049D CE 


04DC 




LDX 




NHSGSTR 


04A0 BD 


E07E 




JSR 




PDATA 


04A3 BD 


E1AC 


INL00P 


JSR 




INEEE 


04A6 81 


30 




CMP 


A 


#'0 


04A8 2D 


IB 




BLT 




N0DIGT 


04AA 81 


39 




CMP 


A 


• '9 


04AC 2E 


17 




BGT 




NODIGT 


04AE F6 


02EA 




LDA 


1 


LINEN0+1 


04B1 F7 


02E9 




STA 


Ei 


LINENO 


04B4 F6 


02EB 




LDA 


B 


LINENO+2 


04B7 F7 


02EA 




STA 


B 


LINENO+1 


04BA F6 


02EC 




LDA 


B 


LINENO+3 


04BD F7 


02EB 




STA 


B 


LINENO+2 


04C0 B7 


02EC 




STA 


A 


LINENO+3 


04C3 20 


DE 




BRA 




INLO0P 


04C5 81 


0D 


N0DIGT 


CMP 


A 


#$D 


04C7 27 


07 




BEQ 




FINISH 


04C9 86 


07 




LDA 


A 


17 


04CB BD 


E1D1 




JSR 




OUTEEE 


04CE 20 


D3 




BRA 




INL00P 


04DO BD 


015C 


FINISH 


JSR 




CRLF 


04D3 7A 


02EB 




DEC 




LINENO+2 


04D6 CE 


04E8 




LDX 




ITEXT 


04D9 7E 


0303 




JMP 




SQL00P 


04DC 20 




HSGSTR 


FCC 




' START 


04DD 53 


54 










04DF 41 


52 










04E1 54 


20 










04E3 4E 


4F 










04E5 3F 


20 










04E7 04 






FCB 




4 


04E8 




TEXT 


RMB 




1 



SET DEFAULT TO 1000 



ASK FOR STARTING NUMBER 
ACCEPT NEXT DIGIT 

CHECK IF IT IS A DIGIT OR NOT 



IF A DIGIT, SHIFT LINE NUMBER LEFT 



AND UAIT FOR NEXT CHARACTER 

IF NOT DIGIT, IS IT CR? 

IF YES, FINISH 

IF NO, THEN RING BELL AND RETURN 



SUBTRACT 10 FROM LINE NUMBER 



AND RETURN TO BASEDIT 



END 



Listing 3. BASEDIT patch to allow entering a starting line 
number. 



out which switch did what, I 
wound up having to look up the 
function I wanted in the logic 
diagram, read the theory of op- 
eration section to confirm 
switch numbers and then 
search for them on the layout 
diagram. 

While on the subject of video 
boards, another video board has 
recently been introduced by 
Thomas Instrumentation (2709 
Dune Drive, Avalon NJ 08202). 
Their board is available either 
fully assembled at $135 or as a 
kit containing board, crystal and 
documentation for $35. Though 
this board is much less versatile 
than the F & D board, its low as- 
sembled price makes it much 
more attractive for people who 
don't feel up to assembling one 
from a batch of parts. 

Like F & D, Thomas Instru- 
mentation has a program that 
allows their video board, along 
with a parallel keyboard and a 
parallel port, to control the en- 
tire system, so that a serial ter- 
minal is not required. This 
seems to be a fairly inexpensive 
way of completing a system and 
get it operating. A more com- 
plete review of this board ap- 
peared in the March 1979 issue 
of 68 Micro Journal. 

Gimix also has a video board 
that can be used to replace a se- 
rial terminal. It is very versatile 
and has a 24 line by 80 character 
display, a full character genera- 
tor plus EPROM and RAM space 
for user-defined graphics char- 
acters and more. 



BASIC Renumbering 

My BASEDIT program ap- 
peared in the January 1979 is- 
use of Kilobaud Microcomput- 
ing ("An Editor for 6800 BASIC 
Programs," p. 22). Since then 
several readers have asked 
whether it could be modified to 
allow renumbering starting from 
another line number. The patch 
in Listing 3 shows how to modify 
BASEDIT so that, whenever you 
ask it to renumber a program, it 
will ask for a starting line num- 
ber. After entering the line num- 
ber, hit RETURN. If you enter 
more than four digits, only the 
last four will be accepted. Initial 
zeros are not required, and if on- 
ly a RETURN is entered the 
default line number will be 1000. 
The line increment will still be 
10, as in the original program. 

BASIC Variable Names 

Although it won't run, a BA- 
SIC program using meaningful 
variable names instead of 
things like A7 and Q5 is a lot 
easier to read. An editor, such 
as a disk editor or the cassette 
version of BASEDIT (a disk ver- 
sion is available from Star-Kits, 
PO Box 209, Mt. Kisco NY 10549, 
but is not needed in this case 
since a standard editor will do) 
can be used to change variable 
names. 

Listing 4 shows how a simple 
program using variables such as 
F0 and R1 can be made more 
readable by replacing these vari- 
able names with more meaning- 
ful ones such as FWD-POWER 



0010 PRINT "SUR CALCULATOR PROGRAM" 

0020 REM BY P. STARK 

0030 INPUT "ENTER F0RUARD P0UER IN UATTS", F0 

0040 INPUT "ENTER REVERSE P0UER IN UATTS", R0 

0050 F1=SQR(F0) 

0060 R1=SQR(R0) 

0070 S0=(F1*R1)/<F1-R1) 

0080 PRINT "THE SUR IS "J SO; ": 1" 



R . 
R . 
R , 
R , 
R , 
R , 
P 

0010 
0020 
0030 
0040 
0050 
0060 
0070 
0080 



F0. FUD-P0UER 

R0. REV-P0UER 

F1. FUD-V0LTS 

R1. REV-VOLTS 

SO. SUR . 



PRINT "SUR CALCULATOR PROGRAM" 

REM BY P. STARK 

INPUT "ENTER F0RUARD P0UER IN UATTS", FUD-P0UER 

INPUT "ENTER REVERSE P0UER IN UATTS", REV-P0UER 

FUD-V0LTS =SQR( FUD-P0UER ) 

REV-VOLTS =SQR( REV-P0UER ) 

SUR =( FUD-V0LTS ♦ REV-VOLTS )/( FUD-V0LTS - REV-VOLTS ) 

PRINT "THE SUR IS ": SUR ; ": 1" 



Listing 4. Editing BASIC to change variable names. 



88 Microcomputing February 1980 



Main/Frames r , $200 



Main/Frames 



from 



14 Basic Models Available 
Assembled & Tested 
Power Supply: 

8v@15A, ± 16v@3A 

15 Slot Motherboard 
(connectors optional) I 
Card cage & guides 

Fan, line cord, fuse, power 
& reset switches, EMI filter 
8v@30A, ± 16v@10A 
option on some models 




Rack 
mounted 
from $200 



8" Floppy Main/Frame 
(includes power for drives 
and mainframe) from $365 



Write or call for our 
brochure which includes our 

application note: 
'Building Cheap Computers' 

INTEGRAND 

8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 
-We accept BankAmericard/Visa and MasterCharge 



EPROM PROGRAMMER— Model EP-2A-79 




•^Sltefea: 



SOFTWARE AVAILABLE FOR F-8, 8080, 6800, 8085, Z-80, 
6502, KIM-1, 1802, 2650. 

EPROM type is selected by a personality module which plugs 
into the front of the programmer. Power requirements are 
1 1 5 VAC, 50/60 HZ at 1 5 watts. It is supplied with a 36 inch 
ribbon cable for connecting to microcomputer. Requires 1 V2 
I/O ports. Priced at $145 with one set of software, per- 
sonality modules are shown below. 

Part No. Programs Price 

PM-0 TMS2708 $15.00 

PM-1 2704,2708 15.00 

PM-2 2732 25.00 

PM-3 TMS2716 15.00 

PM-4 TMS 2532 25.00 

P/VV5 T/v\S 251 6, 271 6, 2758 15.00 

Optimal Technology, Inc. .-010 

Blue Wood 127, Earlysville, VA 22936 
Phone 804-973-5482 



Teratek's 




POS77M4S7ETj| 



Tomorrow's 
mail system. 

Today. 

One package does it ALL 

Postmaster offers the most powerful and flexible 

mail-management system available. 



Batch Entry: Entering names 
and addresses to a mailing 
list is simple. Repeated 
elements of a record need 
only be entered once. 

Powerful Record Extraction: 

Used in conjunction with the 
Optional Reference Field, 

this feature allows simple 
creation of user specified 
"target-files." 

Dedicated Record Editor: List, 
modify or delete records. 
Allows intact or extracted 
backup of original file. 

Automatic "ID" Field 
Insertion: (optional) Key in a 
name, and a unique 10 char- 
acter record identifier will be 
entered automatically to the 
Reference area. 

Envelopes: Postmaster pre- 
pares single or continuous 
envelopes. 

Mailing Labels: Standard or 



Postmaster. User may spe- 
cify any number of labels 
per name. 

Form Letters: Prepare and 
edit form letters in a variety 
of formats, on either single 
or continuous forms. 
Optional capability of 
allowing text or salutation 
"Inserts" for some or all 
letters in any print run. 



Dedicated Record Sorting: 

Sorted files are re-written to 
disk. The sort may be in 
either ascending or descend- 
ing order. Uses the FAST 
Shell-Metzner sorting 
algorithm. 

Attractive Reports: Neat, 
paginated reports on either 
80 or 132 column paper. The 
80 column option allows 
your CRT to provide an 
attractive report display. 

Clear, Complete Documenta- 
tion: The manual will explain 
in simple English how to get 
started right away. Sample 
data and form-letter files are 
included on the disk to allow 
new users to experiment 
(learn) quickly. 

Quality That's Affordable and 
Available: The Postmaster 
programs are available in a 
variety of 5" and 8" disk for- 



Among the formats sup- 
ported are TRS-80, North 
Star, Heath H8and H89, 
standard 8" IBM, 
Vector MZ and other 
CP/M derivatives capable 
of running CBASIC. 

COMPLETE MANUAL 
PACKAGE: ALONE: 



$ 150. 



(Credited toward 
subsequent purchase) 



lifeboat Associates 

~ T IE 
SOFTWARE 

SUPER- 
MARKET 



LIFEBOAT ASSOCIATES 
2248 Broadway, New York, N.Y. 10024 I (212) 580-0082 M Telex: 668585 



»X Reader Service index — page 241 



Microcomputing February 1980 89 





Photos 2 and 3. Top and bottom views of the SWTP MP-R EPROM Programmer. 



and REV-VOLTS. (This was done 
with the R or, Replace, function 
of BASEDIT.) 

You can go both ways, of 
course— start with long names 
and then change them to short 
ones, which BASIC will accept 
just before running, or go the 
other way for documentation 
purposes. 

But just remember that only 
variable names containing a let- 
ter and a digit will translate well; 
if you try to replace every occur- 
rence of a variable such as R 
with RATE, then words such as 
PRINT will come out PRATEINT. 

And if your printer has lower- 
case, you can use it in variable 
names to make the result look 
even better. 

EPROMs 

Some time ago we talked 
about PROMing BASIC, as well 
as some EPROM boards and 
programmers that are available. 
There are more. 

An 8K 2708 EPROM board is 
available from Gimix (1337 West 
37th Place, Chicago IL 60609) for 
$98.34; they also sell 2708s for 
$7.90, a very reasonable cost. 

A 16K or 32K board from Digi- 
tal Service & Design (PO Box 
741, Newark OH 43055) can hold 
16 memory ICs, which can be 
2716 2Kx8 EPROMs, 2758 
1K x 8 EPROMs (like 2708s, but 
they only require 5 volts), 
TMS4016 2K x 8 RAMs or 



MK4118 1Kx8 RAMs. But be- 
ware: TMS4016s are not yet 
available. 

A 16K EPROM board that 
holds 16 2708s is available from 
Walter Wimberly (2914 Sunrise 
Dr., Orlando FL 32803) for about 
$25 for a bare board; not includ- 
ing the EPROMs, the additional 
parts cost would be about $40. 

Notice that there is still a lot 
of activity in 2708 boards; the 
2708 is so much cheaper than a 
2716 that it still makes a lot of 
sense. Now all we need is a 
cheap 2708 programmer, about 
the price of the SWTP 2716 pro- 
grammer! 

Converting the SWTP 

2716 Programmer for the 2708 

Converting the SWTP MP-R 
programmer to work with the 
2708 is an evening's job. All we 
need are two new ICs and a few 
small components. All of these 
parts fit into assorted spots on 
the board. 

The 2708 differs from the 2716 
in several ways. First, it needs 
three supplies instead of one. In 
addition to +5 volts, the 2708 
also needs +12 and -5 volts 
for normal operation (both need 
+ 25 volts during programming 
only). The 2708 also needs one 
less address pin— ten leads in- 
stead of eleven. 

Most important, 2708 pro- 
gramming is quite different from 
2716 programming. To program 



a 2716, you first connect +25 
volts to pin 21. Then you feed in 
the correct address and data for 
each byte to be programmed 
and put a 50 ms 5 volt pulse on 
pin 18. The locations can be pro- 
grammed in any order, and just 
part of the IC can be done, if de- 
sired. 

2708 programming requires 
that pin 20 be brought to +12 
volts, the correct address and 
data be applied, and then a 
short 25 volt pulse of 1 ms or 
less be applied to pin 18. The en- 
tire EPROM must be pro- 
grammed in sequence (you can- 
not do just part), and once you 
go through all 1024 locations, 
the programming process must 
be repeated 100 times or more. 

The total pulse time for each 



location must be 100 ms. If each 
pulse is 1 ms long, then 100 
repetitions are needed; if the 
pulse is 1/2 ms long, then 200 
repetitions are needed and so 
on. 

Since we must pulse 25 volts, 
instead of leaving it on continu- 
ously as in the 2716, the circuitry 
must be different. Since the tim- 
ing is completely different, the 
program is different too. 

Fig. 1 shows the parts that 
need to be removed from the 
SWTP MP-R programmer before 
starting. The original program- 
mer has two 5 volt power sup- 
plies, one of which is switched 
on only when the 2716 is being 
used. In our case, we need three 
power supplies, and switching 
all of them on and off at the 



♦ 8V» 




I 1 1 

^ * * JL 



cut:; 



24 




IC3 



NOTE * DENOTES PARTS TO BE REMOVED FROM CIRCUIT 



Vcc 
AIO 

PO/PGM 

IC6 
CS SOCKET 

(2716) 



/SOCKET WILL BE^ 
UjSEDFOR 2708/ 



Fig. 1. Parts and connections to be removed from SWTP program- 
mer. 



90 Microcomputing February 1980 



same time takes more circuitry 
than we have room for, so the 
entire switchable 5 volt supply is 
removed and 5 volt power is ap- 
plied all the time. This requires 
some care in inserting the 
EPROM into the socket. Also re- 
moved are the connections to 
pins, 18, 19, 20 and 21, which are 
all different from the 2708. 

Fig. 2 shows the new compo- 
nents to be added: + 5 volts is 
connected permanently to pin 
24, and +12 volts is connected 
to pin 19. The latter should be 
regulated, but most SWTP 12 
volt supplies are close to +12 
volts and can often be used as 
is. In my case, the supply volt- 
age was about 13.5 volts, so I 
connected two 1 N4001 diodes in 
series to drop the voltage down 
to about 12 volts. You may need 
only one diode, or perhaps none. 
But caution: If you have modi- 
fied your power supply to pro- 
duce more than 13 volts or so, 
you may need a regulator. 

As shown in Fig. 2,-5 volts is 
obtained from a 7905 regulator. 
It was mounted at the bottom of 
the board, on the opposite cor- 
ner from the +5 volt regulator. 
But note: The tab on the 7905 is 
not to be grounded. Screw the 
regulator to an insulated part of 
the board. 

A 7407 integrated circuit is 
needed to provide buffering. 
This is an open-collector buffer 
that can stand up to 30 volts on 
the output. I glued it to the bot- 
tom of the board, legs up, and 
wrapped the connections around 
its pins. 



Switching the +25 volt power 
is done by two transistors: the 
two you removed from Q2 and 
Q3 can be used, but the wiring 
here must be done carefully. I 
used some of the extra holes left 
over after other parts were re- 
moved; but be careful not to 
short to some other connection. 

The circuit is carefully de- 
signed to protect the 2708. 
When a RESET is done, all high- 
voltage power to the 2708 is re- 
moved. Thus you could plug the 
2708 into the programmer board 
before turning on the power, if 
you feel uneasy about plugging 
it into a powered-up board. But I 
have had no problems with it. 

Listing 5 shows the patches 
needed for the SWTP program 
to work with the 2708. The 
patched program works exactly 
like the original 2716 version and 
has all its functions. You can 
still check that an EPROM is un- 
programmed, read it into mem- 
ory, program a new one, verify 
that it is correct and edit the buf- 
fer contents. Just remember 
that the 2708 is a 1 K x 8 EPROM, 
not 2Kx8. Hence, when the 
SWTP manual describes the 
buffer as being from 0800 to 
0FFF, remember that the buffer 
size is now only 0800 to 0BFF. If 
you burn a long program into 
several consecutive EPROMs, 
adjust the buffer pointer accord- 
ingly. 

The patch changes the SWTP 
program in several ways. It pre- 
vents programming just part of 
the EPROM; all 1K must be pro- 
grammed. Since an erased 



NOTES : (I) GLUE 7407 TO BOARD, PINS UP 

(2) CONNECT 7407 PIN 14 TO +5V, PIN 7 TO GND. 

(3) MOUNT 7903 AT BOTTOM OF BOARD, IN CORNER 
BELOW IC4. DO NOT GROUND TAB (SEE FIG.) 



TO IC3 
PIN 5 (Q6) 



TAB 



"B 



♦ I2V 
FROM BUS 
CONNECTOR *5V 
9 9 



♦25V FROM 
POS LEAD 
OF C6 



TO IC3 
PIN 6 (05) 



-12V FROM 

BUS CONNECTOR 




VCC 



EPROM has FF in all locations, 
the original program omits pro- 
gramming any location that 
should have an FF. The patch 
does not permit it. 

The third part of the patch 
changes the pulse time from 50 
ms to 1/2 ms and adds a loop to 
cycle through the programming 
sequence 200 times. It also adds 
a 15 second delay before and af- 
ter programming to make sure 
that the power supply has a 
chance to stabilize at +25 volts. 

It's not practical to add 
switching to use the same pro- 
grammer for both 2716 and 2708 
EPROMs. But still, this program- 
mer is about the least expensive 
you can make. 

Another 2708 programmer cir- 
cuit was published in a Micro 
Works ad in the July 1979 issue 
of 68 Micro Journal. It is the dia- 
gram of their 2708 programmer, 
and they suggest building it on 
one of their prototyping boards. 



The program was published in 
Dr. Dobb's several years ago. 
The prototyping board and fur- 
ther details are available from 
Micro Works (PO Box 1110, Del 
Mar CA 92014). 

The prototyping board, by the 
way, is pre-etched for the instal- 
lation of either a 6850 ACIA or a 
6820/6821 PIA, as well as a volt- 
age regulator. This greatly 
shortens the time required to 
wire the complete circuit. 

What to Do with 
a 2708 Programmer 

You can always PROM BA- 
SIC, or whatever, but here are 
some other suggestions. 

If you have the Percom LFD- 
400 disk system with the MINI- 
DOS-PLUSX DOS, how about 
modifying your DOS? The file- 
protection code is at the "at- 
sign," which CT-64 terminals 
don't have. You can change lo- 
cations C59F and C735 from 40 



Fig. 2. Add these parts to SWTP programmer. 











NAN PR0G2708 










******************** ft******************* 

* » 










* * 

* SUTP EPROM PROGRAMMER PATCH * 










» N0DIFIES SMTP NP-R 2716 EPR0N BURNER * 










* VERSION 1.1 TO PROGRAM 2708 EPROMS * 

* * 










* * 

* BY PETER A. STARK * 

* * 










* * 
**************************************** 










» UNIT DEFAULT TO IK HEM0RY INSTEAD OF 2K 


0037 








0R6 $0037 


0037 


03 


FF 




FDB $03FF 
* REMOVE TEST UHICH 0HITS PR0GRANMING IFF 


0556 








0R6 $0556 


0556 


01 






NOP 


0557 


01 






NOP 

* CHANGE TINE DELAY FROM 50 MSEC PROGRAMMING 

* PULSE TO 0.5 NSEC PULSE 


0560 








0R6 $056D 


056D 


CE 


00 


35 


LDX 8$35 

* CHAN6E TO 15 SEC DELAY BEFORE AND AFTER BURNING 


04FE 








0R6 $04FE 


04FE 


C6 


ID 




LDA B 8$1D 
* DELETE ABILITY TO PROGRAM ONLY PART OF EPR0N 


04A5 








ORG $04A5 


04A5 


01 






NOP 


04A6 


01 






NOP 


04A7 


01 






NOP 

• ADD LOOP TO CYCLE THROUGH PR0GRAHNING SEQUENCE 

• 200 TINES. 200 REPETITIONS OF 0.5 MSEC EACH 

• TOTAL 100 NSEC PROGRAMMING PER LOCATION 


04C3 








0R6 $04C3 


04C3 


ID 


07 


FO 


JSR PATCH 


07F0 








ORG $07F0 


07F0 


86 


C8 




PATCH LDA A 8$C8 INIT COUNTER TO 200 REPETITIONS 


07F2 


17 


07 


FE 


STA A COUNT 


07F5 


10 


05 


0A 


A6AIN JSR $050A 00 THROUGH ONE COMPLETE CYCLE 


07F8 


7A 


07 


FE 


DEC COUNT 


07FB 


26 


F8 




BNE AGAIN 


07FD 


3? 






RTS 


07FE 








COUNT RMB 1 
END 


Listing 


5. 


Patch for the 2716 program to allow operation with the 


2708 











Microcomputing February 1980 91 



to some other code; I have 
changed mine to 3E for a code of 
> for file protection. 

I have made another change 
in my MINIDOS-PLUSX. It al- 
ways bothered me that a full 
track of ten sectors was used for 
a directory, when, in fact, only 
two sectors were needed. I've 
made the following changes: 

Location C6DF— change from 06 to 00 
Location C6C3— change from 01 to 04 
Location C6C6— change from B9 to BA 

Now my files get stored starting 
at sector 002 on each disk, giv- 
ing me a total of 348 usable sec- 
tors instead of 340. 

Only one problem: if anyone 
else tries to read my directory 
with an unmodified MINIDOS- 
PLUSX, he will get a complete 



blank because his DOS will 
think that the directory is empty. 
(When it tests for and detects a 
track number of 00, it assumes 
that's the end. My first file be- 
gins on track 000 now, and so 
DOS stops printing.) 

I still get a directory printout 
on my modified MINIDOS- 
PLUSX, but there's an easy fix: 
simply store a dummy file at the 
start of the disk, which takes up 
sectors 002-009, using the com- 
mand 

S DUMMY 0100 0800 
Since this uses up sectors 002 
through 009, the next file will 
start at 010, as usual. Then, after 
the disk is written on, delete 
DUMMY, so the first file starts 
again at 010. 



How about a contest? I have 
my own monitor in EPROM, as 
do a lot of other SWTP users. 
Why not send me a listing of the 
routines you would like to see in 
a Super Monitor. We'll put them 
all together and see if we can't 
write a Super Monitor that does 
it all. If you enclose a self-ad- 
dressed, stamped envelope, I 
will copy all entries submitted 
and send them back out— en- 
close a few extra stamps just in 
case it's thick. 

Sudden Death 
Syndrome Revisited 

In the first installment of this 
series, I mentioned a fix for the 
MP-A CPU board that would pre- 
vent sudden death of the system 



if a WAI instruction was encoun- 
tered. The fix involved putting an 
extra gate in IC10 into the cir- 
cuit. 

I forgot to add that this extra 
gate, though not used, has its in- 
put pin connected on the PC 
board anyway. To make use of it, 
you must cut the input lead at 
the board (or unplug IC10 and 
bend the lead out so it no longer 
connects to the board) before 
making the new connections. 
My apologies to anyone who 
has had trouble. 

Conclusion 

Next time, we'll talk about re- 
assigning memory and I/O ad- 
dresses, as well as a few more 
topics. ■ 



? DISK DRIVE WOES? MEMORY LOSS? ? 

ERRATIC OPERATION? J 

DON'T BLAME THE SOFTWARE! J 

• 

•Power Line Surges & Hash could be the culprit! . 

Floppies, memory & processor often interact! • 

ft "Curb damaging Surges & Hash with our ISOLA- ft 

TORS and Suppressor/Filters. Eliminate Equip- ,, 

» ment Interaction with our unique ISOLATORS. " 

ft 'ISOLATOR (ISO-1A) 3 filter isolated 3-prong ft 



? 
? 
? 

# 



sockets; integral surge suppression; 1875 W total 

load, 1 KW any socket $54.95 

'ISOLATOR (ISO-2) 2 filter isolated 3-prong socket 
banks (6 sockets total); integral surge suppres- 
sion; 1875 watt total load, 1 KW load either 

bank $54.95 

•Suppressor/Filter (SFK-31) 3-prong socket; 1 KW 

load $24.50 

ft 'Suppressor/Filter (SFK-33) Three 3- prong sock- ft 

ets; 1250 watt load $32.50 

PHONE ORDERS 1-617-655-1532 

! IS? Electronic Specialists, Inc. 

t 171 South Main Street, Natick. Mass. 01760 

.mrm De P<- KB 

? €S ^E36 

???###! ! !???###???!! !###??? 



? 
? 
? 

# 




SURPLUS ELECTRONICS 



ASCII 



ASCII 



IBM SELECTRIC 

BASED I/O TERMINAL 

WITH ASCII CONVERSION 

INSTALLED $645.00 

• Tape Drives • Cable 

• Cassette Drives • Wire 

• Power Supplies 12V15A, 12V25A, 
5V35A Others, • Displays 

• Cabinets • XFMRS • Heat 
Sinks • Printers • Components 
Many other items. SEND $1.00 FOR 

CATALOG. REFUNDABLE FIRST ORDER 
WORLDWIDE ELECT. INC. «^W16 
130 Northeastern Blvd. 
Nashua, NH 03060 

Phone orders accepted using 

VISA or Master Charge 

call 603-889-7661 




[apple computer 

OR 

TGCfiS INSTRUM6NTS 

99/4 HOME COMPUTER 
FOR 



$994.00 



INTEGRAL DATA 

IP-440 Paper Tiger, List $995 $895 

Apple Disk II w/controller $520 

DC Hayes Modem $335 




VDUR DWn CDHIPUTER 



LTD. 

10678 CAMPUS WAY SOUTH 
LARGO, MD 20870 - (301) 350-6680 



^Y3 





12" BLACKS WHITE 
LOW COST VIDEO 
TERMINAL 

Easily interfaced with Radio Shack TRS 80 

$149.00 LIST 

Will sell 6 feet coaxial cable $5.00 
Add $5 for shipping and handling in Continental U.S. A 




One year 

limited warranty 

• Ideal for home, personal and business computer systems; 
surveillance monitors • 12" diagonal video monitor • Com- 
posite video input • Compatible with many computer 
systems • Solid-state circuitry for a stable & sharp pic- 
ture • Video bandwidth— 12 MHz ±3 DB • Input im 
pedance — 75 Ohms * Resolution — 650 lines Minimum IM 
Central 80% of CRT; 550 Lines Minimum beyond central 80% 
ofCRTrefEIARS375 • Dimensions— 11.375" high; 16.250" 
wide; 11.250" deep (exclude video input con- 
nector) • Weight— 6.5 KG (14.3 lbs) net 

Use Master Charge/ Visa or send money order. 

Micro Products Unlimited 

P.O. Box 1 525, Arlington, TX 76010 
817/461-8043 
Dealer inquiries welcome 



»^M81 



CI-68A CONTROL INTERFACE 

• 8 opto-isolated inputs 

• 8 reed relay outputs 

• Relay status register 

• /IRQ and /NMI jumper 
selectable 

• Complete 
documentation 

• S 79.95 kit 

• S95.00 assembled 
and tested 

DIGITAL CONVERTER 

8 Analog inputs 
(0-25v) 

Single ramp, sottware 
driven conversion 
8 bit. 9 6 ms maximum 
I • Complete 

documentation 
• $39 95 assembled 
and tested 





\ • 



For SWTPC 6800 type computer Write tor more 
information ^ 124 

Terms US and Canada add 5% shipping Others add 
15% US tunds only TX residents add 5% tax VISA and 
% J^ m MC ok 

■/r Inno vative: Technolog y 

510 Oxford Park • Ganand.TX75043 • (2U)270 8393 



1 



92 Microcomputing February 1980 



TRS-80MODI TRS-80MODI TRS-80 MOD I 



Business software you can depend on. 



CPA/ ATTORNEY 

CLIENT WRITE-UP 48K, 2 Drive System $750.00 

More than just a general ledger package. Designed to operate 
from an accounting service aspect... 4 digit COA, 150 
accounts, 10 departments with consolidation capability. Allows 
800 transactions per update and 40 updates per month. 
Balance Sheet Payroll Register 

Transaction Report Payroll Journal 

Comparative P & L General Ledger 

W-2 Quarterly Tax Reports 

Change in Components of Working Capital 
Change in Financial Position 

TIME ACCOUNTING/PROFESSIONAL BILLING 32K RAM, 
2 Drive $200.00 

Time accounting for law or CPA firm. Maintains records of time 
spent on client and employee productivity. System takes "hours 
in progress" and creates accounts receivable file. Generates 
statements, client file listing, employee file listing, transaction 
ledger, client activity ledger, employee activity report and 
activity file listing. 

ASSET DEPRECIATION SYSTEM, 32K RAM, 1 Drive $200.00 

Designed to aid accountant with clients' assets & subsequent 
depreciations. Up to 900 individual assets per disk accepted. 
Methods of calculating depreciation are Straight Line, Sum-of- 
the-years-Digits and Declining Balance. Reports generated are 
Fixed Asset Ledger and Asset Depreciation Schedule. 

COLUMNAR PAD 48K RAM, 1 Drive $ 55.00 

Converts TRS-80 to programmable calculator that works on 
columns of figures at a time. Prints out needed format . Label 
columns and rows, then enter the information needed into the 
proper columns. Using the mathematical processing power of 
your computer, total across, total down, multiply whole col- 
umns, and much more. 



TOTAL CPA/ATTORNEY PACKAGE 



$950.00 



SURVEY/CIVIL ENGINEER/CONTRACTOR 

SURVEY PACKAGE 48K RAM, 2 Disk Drive $1500.00 

Store up to 3685 Double Precision coordinates with which to do 
the following: field traverse, angle adjustment, balance 
traverse, coordinate traverse, convert to coordinate form, con- 
vert to angle distance form, rotate data, translate data, traverse 
area, geometry for intersections (line x line, offset x offset, line x 
circle, circle x circle), curve computation (intersecting lines), 3 
points on a curve, point of curvature and radius point, point of 
incidence,reference angle and two scalars and much more. 
The edit feature provides a complete display of all data asso- 
ciated with a point and allows any of that data to be modified. 



PLOTTER ROUTINES 48K RAM, 2 Disk Drive, 

Plotter $300.00 

Designed to interface the Houston Instruments Hi Plot to the 
TRS-80. These routines are industry standard routines: 
PLOT draws straight lines, FACTOR changes plot size, WHERE 
returns the current pen position, SYMBOL prints strings or special 
symbols, SCALE determines scale factors for graphic plots, AXIS 
draws annotations and labels axes, LINE plots vectors of data 
using scale factors. All routines are called from Basic using 
Fortran style subroutine argument lists. 



JOB CONSTRUCTION LEDGER 32K RAM, 

3 Disk Drive $200.00 

Aids contractor/builder in maintaining an accurate record of 
the costs incurred in any building project. Maintains COA, Ven- 
dor File and Job File. Reports generated are: COA Listing, 
Vendor Listing, Job Listing, Job Cost Ledger, Job Cost Summary, 
Checking Account Report. This system can maintain 100 
accounts with descriptions, 10 jobs with estimates, 90 vendors 
with YTD amounts, and up to 3000 transactions (checks). 

TOTAL SURVEY/CIVIL ENGINEER/CONTRACTOR 
$1700.00 



MEDICAL BILLING 48K, 4 Drive System, IBM Selectric Printer 



$1,500.00 



This package provides complete billing and accounts receivable management for any medical or dental office mailing up to 500 
statements a month. 

INSURANCE FORMS. Generates standard medical insurance forms accepted by Medicare, Medicaid, and all third party private 
insurance carriers. 

STATEMENTS. Patient's statements may be printed at any time. The Operator may choose balance due, zero balance, or credit 
balance statements. 

DAILY JOURNALS. Daily Journal includes day's activities, listing by patient of the day's charges, payments, adjustments, and updated 
ledger balances. 

DISPLAY AND EDITING. Any patient ledger can be quickly called to the video display or printer. Editing of clerical information can be 

done while the ledger is on display Editing of dollcr values is not allowed, thus maintaining the integrity of the double entry system. 

CHARGE LOCATIONS. Provides for the optional designation of up to five different locations at which the charge services were provided. 

AGING REPORTS. All accounts are automatically aged into five 30 day categories. The report lists patient's name, telephone number, 

total charges to date, total payments to date, date of last payment, current balance, and signifies whether or not insurance forms have 

been printed for that patient. 

DELINQUENT LETTERS. The programs provide for the printing of delinquent letters. There are four different letters, one for each aging 

category. Operator is able to exclude any chosen patient(s) from batch printing. Delinquent letters, though basically form letters, are 

highly personalized by the computer by using information from each patient's ledger. 

MANAGEMENT ANALYSIS. Tabulates all charges, payments, adjustments, and write-offs for the month-to-date and year-to-date. 



HMCT also has TRS-80s in stock. This means we can provide not only professional software, but also fully tested hardware with much 
improved reliability and flexibility. We provide only the finest quality hardware and peripherals for your system and can customize to your 
specifications. We represent: Centronics, Texas Instruments, Pertec, MPI, Micropolis, Selecterm, NEC, Houston Instruments, 3M, Verbatim. 

We are more than happy to spend time with you either personally in the Houston area or on the telephone. We are here to help you maximize 
the capability and flexibility of your TRS-80 System. 

TRS-80 is a registered trademark of the Tandy Corporation. 



To order by phone or for local dealer information call: 713/661-2005 
Texas residents add 6% sales tax • MasterCharge • Visa 

HOUSTON MICROCOMPUTER TECHNOLOGIES, INC. 

5313 BISSONNET • BELLAIRE • TEXAS • 77401 • 713/661-2005 



^H45 



iS Reader Service index— page 241 



Microcomputing February 1980 93 





Chesney E 


. Twombly 


















^H 15 Storer Street 




















^M Kennebunk ME 04043 
















1 










H 


8: 


String 


g Findei 


r 








Herein 


you 


'II find the third installment in the "CONOPS 


" series. 










H8 String Finder 


program. 




^\o you have trouble finding 
^^strings? Don't despair. 


the program. Before you can 






i 








* H8 


STRING 


FINDER 




change them, you have to find 






2 








* 








Here is a string finder that will 


them. 






3 

4 








* FOR 

* 


USE UITH "CONORS- 


• 


give you instant relief and runs 


Many CONOPS subroutines 






5 








* BY CHESNEY E. TUOMBLY 


as a part of "CONOPS," the 


are useful in other assembly- 






6 

7 








* 
* 


IS STORER ST., 
KENNEBUNK HE 0404 


3 


H8-console-oriented operating 


language programs, which is 






8 








* 








system (Microcomputing, July 


convenient. Unfortunately, 






9 
10 








* 


OPT 


HEM, NUN 




1979, p. 108). It will search any 


modifying the operating 






11 


6700 








ORG 


$6700 




block of memory (RAM or ROM) 


system itself or relocating it, as 






12 
13 




6FB0 


t 
STACK 


EQU 


$6FB0 




for a sequence of one or more 


new memory boards are ac- 






14 




6C62 


0UT2H 


EQU 


♦ 6C62 




bytes and list the address of 


quired, calls for changing some 






15 
16 




6DB4 
6DC3 


HS1 
MS2 


EQU 
EQU 


J6DB4 

*6DC3 




each occurrence. 


addresses in the dependent 






17 




6C03 


PDATA 


EQU 


$6C03 




Why do you need to find 


programs. This string finder is 






18 
1? 




6C4C 
6C1B 


IN4H 
INCHR 


EQU 
EQU 


$6C4C 
•4Ctl 




strings? Perhaps you wish to 


convenient as a tool in finding 






20 




6C28 


CONVT 


EQU 


»6C28 




modify a program or relocate it 


those bytes that have to be 






21 

22 




6C40 
6C86 


BYTE 
OUTS 


EQU 
EQU 


I6C40 
44C86 




in memory. Either of those ac- 


changed. 






23 




6DF0 


ZBUF 


EQU 


I6DF0 




tions involves changes of spe- 








24 




6EDB 


HONIT 


EQU 


I4EDI 












25 
26 




6C11 


CRLF 

* 


EQU 


I4C11 




cific instruction bytes within 


The Program 






27 


6700 31 


B0 


6F 


ENTER 


LXI 


SP.STACK 






The H8 String Finder pro- 






28 


6703 CD 


F0 


6D 




CALL 


ZBUF 


; CLEAR BUFR 




W 9 






29 


6706 01 


FF 


00 




LXI 


B.00FFH 


;SET B=0, C=FF 




gram fits into the memory block 






30 


6709 1 1 


48 


6F 




LXI 


D. STRING 


JSET PNTR TO STRING BUFF 




6700-67D0 hex, just below the 






31 


670C 21 


BA 


67 




LXI 


H,NS6 


;"L00K FOR - ". 




* j 






32 


670F CD 


03 


6C 




CALL 


PDATA 






disassembler (see Microcom- 






33 
34 


6712 CD 
6715 FE 


ID 
53 


6C 


GETCHR 


CALL 
CPI 


INCH* 
'S' 






puting, January 1980, p. 144). 






35 


6717 CA 


DB 


6E 




JZ 


MONIT 


;all hone 




The entry address is 6700 hex. 






36 


6?1A FE 


58 






CPI 


' x •' 






When you run the program, 






37 


671C C2 


28 


67 




JNZ 


NOX 












38 


67 IF 48 








hOV 


C,B 


ISET DONT CARE INDEX 




the message LOOK FOR is dis- 






39 


6720 04 








INR 


B 






played. At this time, enter the 






40 


6721 CD 


86 


6C 




CALL 


OUTS 






■ * ' 






41 


6724 13 








I NX 


I' 






byte string to be searched for. 






42 


6725 C3 


12 


47 




JMP 


GETCHR 






This can be as few as one byte 






43 


6728 FE 


0D 




NOX 


CPI 


l?DH 


:C/R" END OF INPUT 










44 


672A CA 


3C 


67 




JZ 


SEARCH 






or as many as the string buffer 






45 

46 


672D CD 
6730 CD 


28 

40 


6C 
6C 




CALL 
CALL 


CONVT 
BYTE 


; CONVERT 2 HEX CHARS TO 


BINARY BYTE 


will hold. The program sets no 






47 


6733 12 








STAX 





;pnr INTO flUFR 




limit; however, I have not yet 






48 

4 g 


6 54 04 
6735 CD 


86 


6C 




INR 
CALL 


B 
OUTS 


; I NCR BflE CNTR 
; OUTPUT A SPACE 




found any need to look for 






50 


6738 13 








INX 


1 


;INCR STRING BUFR 




strings of more than four or five 






51 


6739 C3 


12 


67 




JflP 


GETCHR 


,'GET ANOTHER STRING CHAP 










52 








* 










bytes. 






53 


673C II 






SEARCH 


PCX 


D 


JSET PNTR TO LAST CHAR 




You can enter the letter X in 






54 


673D D5 








PUSH 


D 










1 


55 


673E D5 








PUSH 


D 






place of any byte, but only once 






56 


673F 21 


B4 


6D 




LXI 


H,f1S1 


; "BEGIN AUDR? " 




per string. An X byte will be 






57 


6742 CD 


03 


6C 




CALL 


PDATA 












58 


6745 CD 


4C 


6C 




CALl 


IN4H 


J GET START AHDR OF BLOCK 


TO BE SEARCHED 


regarded by the program as a 






59 


6748 EB 








XCHG 








"don't-care" byte. For example, 






60 


6749 22 


40 


6F 




SHLD 


BEGADR 


JSAUE IT 










61 


674C 21 


C3 


6D 




LXI 


H,MS2 


.•"END ADDR? " 




in studying an undocumented 






42 


674F CD 


03 


6C 




CALL 


PDATA 






program, you may have iden- 






63 


6752 CD 


4C 


4C 




CALL 


IN4H 


JGET END ADDR OF BLOCK TO 








64 


6755 ED 








XCHG 








tified a subroutine beginning at 






65 


6756 22 


42 


6F 




SHLD 


ENDADR 


JSAVE IT 




address 6712 hex. You wish to 






66 


6759 CD 


11 


6C 




CALL 


CRLF 












67 


6 75C D1 








POP 


D 






search the entire program and 






68 
6<? 


4751 C5 






* 
HATCH 


PUSH 


B 






find every instruction that calls 






70 


675E D5 








PUSH 


H 






this subroutine. Entering X 12 






71 


675F 05 
6760 FA 


82 


67 


HATCH2 


ICR 

Jrt 


B 
HONE 


JSTRING MATCH 




67 will get you a list of all types 






73 


6763 P5 








PUSH 


D 






of CALL or JMP instructions (18 






74 
75 


6764 E5 

6765 CD 


9C 


67 




PUSH 
CALL 


H 
CHKEND 






possible) that reference the 






76 


6768 I) 








POP 


H 






6712 address. You could have 




94 Microcomputing February 1980 





used just the two-byte address 
without the X, but chances are 
you would get a list containing 
a large number of irrelevant ad- 
dresses. After you have tried it 
a few times, you will see the 
usefulness of a "don't-care" 
byte. 

Terminate string entry with a 
carriage return. Now, respond 
to the prompts, BEGIN ADDR? 



and END?, by entering the 
beginning and ending address 
of the block to be searched. 

The program will display a 
list of all addresses containing 
bytes that match the string 
searched for. If no match is 
found, the message NO MATCH 
will be displayed. The program 
ends with return to the operating 
system standby prompt, •**.■ 



7? 


6769 D1 




FOP 


D 


7ft 


676A 1A 




LDAX 


D 


7? 


676F 96 




SUB 


H 


60 


676C IB 




DCX 


D 


81 


676D 2B 




PCX 


H 


82 


676E CA 5F 67 




JZ 


HATCH2 


83 


6771 78 




dov 


A f B 


84 


6772 *9 




CMP 


c 


85 


6773 CA 5F 67 




JZ 


AATCH2 


86 




* 






87 


6776 2A 42 6F 


H0RE2 


LHLD 


ENDADR 


86 


6779 26 




DCX 


H 


89 


677A 22 42 6F 




5HLD 


ENDADR 


90 


677D 11 




POP 


D 


91 


677E CI 




POP 


B 


92 


677F C3 5D 67 




JMP 


MAT H 


93 




* 






94 


6782 23 


DONE 


INX 


H 


95 


6783 22 44 oF 




SHLD 


ADDOUT JSTORE MATCH ADDR 


96 


6786 21 45 6F 




LXI 


H,ADD0UT+1 


9 7 


6789 CD 62 6C 




CALL 


0UT2H 


98 


678C 2P 




DCX 


H 


99 


678D CD 62 6C 




CALL 


0UT2H 


100 


t>7Q0 CI 11 6C 




CALL 


CRLF 


1/1 


4793 21 47 6F 




LXI 


H, MATCH 


102 


679 3E FF 




HVI 


A,0FFH 


103 


6798 77 




NOV 


M.A 


104 


6799 C3 76 67 




JHP 


MORE,? 


105 




* 






106 


679C E5 


CHKEND 


PUSH 


H 


107 


679H 2A 40 6F 




LHLD 


BEGADR JSET F'NTR 


108 


67A0 2B 




DCX 


H 


109 


67A1 EB 




XCHG 




110 


67A2 El 




POP 


H 


111 


67A3 7A 




NOV 


A,D 


U2 


67A4 AC 




XRh 


H 


113 


67A5 C0 




RNZ 




114 


67A6 7B 




NOV 


A,E 


115 


67A7 AD 




XRA 


L 


116 


67A8 C0 




RNZ 




117 


67A9 21 47 6F 




LXI 


H,NHATCH 


118 


67AC 7E 




MOV 


A f M 


119 


67AD IE 




PAR 




120 


67AE DA DB 6E 




JC 


MONIT 


121 


67B1 21 C6 67 




LXI 


H,MS7 ;"N0 HATCH" 


122 


67B4 CD 03 6C 




CALL 


PDATA 


123 


67B7 C3 DB 6E 




JHP 


MONIT 


124 




* 






125 


67BA 0D 0A 


H56 


IB 


0DH f 0AH 


126 


67BC 4C 4F 4F 
67BF 4B 20 46 
67C2 4F 52 20 
67C5 04 




DP 


LOOK FOR ,4 


127 


67C6 0D 0A 


rtS7 


DB 


0DH,0AH 


128 


67C8 4E 4F 20 
67CB 4D 41 54 
67CE 43 48 04 




DB 


NO MATCH ,4 


129 




* 






130 


6F40 




ORG 


$6F40 


131 




* 






132 


6F40 


BEGADR 


DS 


2 


133 


6F42 


ENDADR 


DS 


2 


134 


6F44 


ADDOUT 


US 


m 


135 


6F46 


NBR 


DS 


1 


136 


6F47 


NMATCH 


ns 


1 


137 


6F48 


STRING 


DS 


9 


138 




* 






139 






END 






a Bra no" New DuAwiNq SysTEM 
For youR Apple II ! 

The VersaWriter is a digitizer drawing board that lets you create 
ANY picture in full color, with high resolution graphics on your Apple 
monitor. Ideal for mass graphics, you can trace, edit, save and recall 
what you draw. It can be a pointer in games, or a digitizer for charts 
and diagrams. It's a simple-to-use system for students, artists, engineers 
and graphic programmers. 

The VersaWriter plugs directly into the Apple's game I/O and re- 
quires Disk II, Applesoft ROM and 32K of memory. 

We're offering the Versawriter at an introductory price of only 
$179.95 while current supply lasts. The normal price is $199, so take 
advantage of this opportunity by ordering your VersaWriter today. Ask 
for our FREE catalog of software and products for Apple. 

©Copyright Rainbow Computing 1980 Dealer inquiries welcome. 

RAINBOW COMPUTING, INC., Dept. Km2 (213) 349-5560 

9719 Reseda Blvd., Northridge, California 91324 




SYMBOL TABLE; 



ADDOUT 


6F44 


BEGADR 


t>F40 


BYTE 


6C40 


CHKEND 


679C 


CONVT 


6C28 


CRLF 


6CU 


DONE 


6782 


ENDADR 


6F42 


ENTER 


o700 


GETCHR 


6^12 


IN4H 


6C4C 


INCHR 


6C1D 


MATCH 


675D 


MATCH2 


675F 


hONIT 


6EDB 


M0RE2 


6776 


MSI 


6DB4 


MS2 


6 DC 3 


MS6 


67BA 


MS7 


67C> 


NN 


6F46 


NMATCH 


6F47 


NOX 


6728 


0UT2H 


6C62 


OUTS 


6C8o 


PBATA 


6C03 


SEARCH 


673C 


STACK 


6FB0 


STRING 


6F48 


ZBUF 


6DF0 



for . . . 

Ohio 

Scientific 

just released . . . 



Problem Solver: Makes complex decisions based 

on your criteria. You can't be 

without it. 

Cash Flo: Every item can have a six-point 

growth curve— All other cash flow 

packages are now obsolete. 

Numerology: At last. SPD makes this accurate 

tool of the occult available to you. 
(Source book $10) 



The Tool Box: Modules in a series of tools for 

specific business problems . . . 
Real Pak 1: Real estate investment property anal- 
ysis. Built for pros. Gives you the 
"hammer" in any deal. 
Baccus 1:MDMS compatible or stand alone invoic- 
ing and order entry module. We can't be 
without it. 

$30 Disk $ 15 Tape (limited versions) 

Specify 8" or 5", Cl or C2. Or, Send $2 for full-line 
documentation package 




STRUCTURED PROGRAM DESIGNERS 
371 Broome St., NY, NY 10013 



• S128 




»X Reader Service index — page 241 



Microcomputing February 1980 95 



A Simple Way to 
Reduce Keyboarding Effort 

Excessive keyboarding is dreary and wearying. This shortcut reduces tusk-tickling time. 



Theodore C. Hines 

Lois Winkel 

Rosann Collins 

Library Science/Educational Technology Division 

University of North Carolina at Greensboro 

Greensboro, NC 27412 



We keyboard a great deal of 
data on our three micro- 
computers—two in the office 
and one at home. After awhile, 
keyboarding becomes tiresome. 
We have a shortcut that helps, 
however, and would like to pass 
it along to others who have con- 
siderable word processing to 
do. 

Recently, for example, we had 
to type out a long list of titles of 
legal periodicals as part of a bib- 
liography we were working on. 
By using only a small set of 
abbreviations and then expand- 
ing them to full form by pro- 
gram, we cut our input keying ef- 
fort by 30 percent. The abbrevia- 
tions we used were simple, easy 
and logical, such as "j" for 
"Journal of," "a" for "Associa- 
tion," "b" for "Bar," "r" for "Re- 
view" and so on. 

As it happens, we were using 
a good word-processing pro- 
gram (Michael Shrayer's Elec- 
tric Pencil) as a data collector 
and editor, so we did not even 
have to do any programming of 
our own in this case. The Elec- 
tric Pencil has a search and re- 
place command of the form 

j /Journal of In 

where j is the abbreviation, Jour- 
nal of is the replacement and n 
is any number larger than or 
equal to the number of times the 
replacement is to be made. Type 
in the command, wait briefly 
while the computer does its 
thing, and the changes are 



made. The Electric Pencil even 
reports back on how many times 
it has expanded your abbrevia- 
tion to the full form. 

The Program 

Writing a program to carry out 
such replacements is relatively 
simple to do either as a subrou- 
tine in a data-collecting program 
or as a standalone program that 
reads in data in abbreviated 
form from one file and writes it 
out in full form on another. 

The second alternative has 
the advantage that you can 
store and/or manipulate the 
data in their abbreviated form. A 
brief and not very elegant pro- 



gram to expand abbreviations in 
this way (in Processor 
Technology Extended Cassette 
BASIC) is shown in the program 
listing to illustrate the process. 

There are, as with anything 
else in computing, some minor 
glitches to watch out for. It is a 
good idea to use easy-to-remem- 
ber abbreviations. It is an equal- 
ly good idea to be sure these 
mnemonic abbreviations are 
unique in your given text. In key- 
boarding a book index in which 
the word "Children" appeared 
frequently, we used "C." as an 
abbreviation. The system 
worked well— except that not 
only was "Books for C." proper- 
ly expanded to "Books for 
Children," but also "Walters, 
Joseph C." became "Walters, 
Joseph Children," a result we 
did not intend. 

One way to circumvent this is 
to use a character or a combina- 
tion of keystrokes for your ab- 



10 REM- PROGRAM TO EXPAND ABBREVIATIONS 

20 REM- ABBREVIATIONS AND THEIR EXPANDED FORMS ARE PUT 

30 REM- IN DATA STATEMENTS 

40 DIM A$(265> f B* (65) t C$ (65) 

50 INPUT A* 

60 REM- AT THIS POINT PUT IN READ FROM FILE OR MEMORYf 

70 REM- INPUT A$ USED HERE FOR TESTING 

30 IF A*="" THEN 250 

90 LET A$=" "+A*+" " 
100 REM- THIS PADS RECORD WITH TWO SPACES ON EACH END* SO 
110 REM- THAT ABBREVIATIONS OCCURRING IN THE FIRST OR LAST 
120 REM- POSITION CAN BE IDENTIFIED AND EXPANDED EASILY 
130 READ B* 

140 IF B*="END" THEN GOTO 200 
150 READ C* 
160 SEARCH B*fA$fX 
170 IF X=0 THEN GOTO 130 
130 LET A$=A*(1 i X-1>+C*+A$(LEN(B*)+X) 
190 GOTO 160 

200 LET A$=A$(3tLEN(A$) -2) 

210 REM- THIS REMOVES TWO SPACES PADDED ON EARLIER 
220 PRINT A$ 
230 RESTORE 
240 GOTO 50 
250 END 

260 DATA " b "r" Bar »i" j "r" Journal " t " 1 "i" Law " 
270 DATA " a "r" Association "»" US "r" United States " 
280 DATA "UNCG" r "Uni wer s i tv of North Carolina at Greensboro" 
290 DATA " Jo "r" Journal of "»" r "r" Review "»"END" 



Program listing. 



breviation that never appears in 
normal or running text — a punc- 
tuation mark standing alone or 
immediately preceding a letter, 
for example. 

Analysis Technique 

We did not, of course, invent 
this technique of keying abbrevi- 
ations and expanding them by 
program. We would suppose 
that the method has been used 
intuitively for years. An ex- 
cellent study by Dr. James H. 
May (to be published) of input 
keyboarding for information 
retrieval systems provides a 
scholarly background and a 
documented rationale for devis- 
ing and using such abbrevia- 
tions. 

As May explains and illus- 
trates, in most data bases (and 
much text in particular fields), a 
kind of telegraphic style is used. 
In such data, certain long words 
or phrases may occur with much 
higher frequency than in normal 
English: "magnetic spin 
resonance" in chemistry, for ex- 
ample, or "United" and "States" 
in Library of Congress subject 
headings for books. 

If you have a great deal of key- 
boarding of the same type of 
data to do, it might be quite use- 
ful to apply May's analysis tech- 
niques to a representative sam- 
ple of the data to see what small 
set of abbreviations or codes 
would save the most keystrokes 
with the least effort. 

As applied to words, the 
analysis technique consists of 
making a frequency count of the 
words in each sample and, for 
each word, multiplying its fre- 
quency by its length and then 
printing out a list of the words 
ranked by this figure. If "the" oc- 
curs 520 times, for instance, the 



96 Microcomputing February 1980 



RUN 

?US 1 r 

United States Law Review 

?UNCG J o 1 

University of North Carolina at Greensboro Journal of Law 

?j o the American b a 

•Journal of the American Bar Association 

READY 



Sample run. 



number of letters is 3 x 520, or 
1560. Suppose that, in the same 
data, the phrase "University of 
North Carolina at Greensboro" 
occurs only 37 times. Keying a 
one-character abbreviation for 
either saves about the same 
number of keystrokes. 

A similar analysis technique 
can be used to compress data 
files. In this instance, unused 
characters in the character set 
(ASCII characters over decimal 
138, for example) can be sub- 
stituted for words or phrases. 
Depending on the nature of the 
data, compression rates of 50 
percent or more can be achieved 
with relatively few abbrevia- 
tions. 



The virtues of this technique 
are that, unlike some packing 
methods, there is a one-to-one 
relationship between the com- 
pressed and full versions, i.e., 
the compressed version can be 
expanded, character for char- 
acter and space for space, to the 
exact original. Also, if the same 
compression technique is used 
with search requests, they can 
be run against the compressed 
data with exactly the same 
results as if the full search re- 
quest were run against the 
original data. 

We hope the simple tip on us- 
ing abbreviations in input can 
save you as much work as it 
has— and is— saving us.H 



KEYBOARD EXPANDOR 

FOR 

APPLE II* 

C&H Micro announces the transformation of the AP- 
PLE II into a complete upper and lower case system. 
KEYBOARD EXPANDOR, a hardware-software modifi- 
cation of the APPLE II, actually allows the shift keys to 
be used just like a conventional typewriter. 

The hardware change is a one-wire modification re- 
quiring one solder point. The software is a 1/4K trans- 
parent machine language routine which augments the 
Monitor. All APPLE characters and editing keys main- 
tained. Cap and Shift Locks and an Inverse mode dis- 
play option included. Compatible with methods dis- 
playing ASCII such as Paymar's LCA and the HI RES 
CHARACTER GENERATOR. Totally compatible with 
DOS, allowing use of U/L in TEXT files, PRINT and 
REM statements, DOS file names, and Immediate 
mode. 

Full documentation. Software provided on disk. Or- 
ders, with certified check or money order for $20.00, 
should be sent to: 

C&H Micro 
P.O. Box 249 
Clifton Park, NY 12065 ^cua 
"Apple is a registered trademark of Apple Computer Inc. 




G. W. COMPUTERS LTD. 

This is how your business appears on the screen 

Approximately 60-100 entries/inputs require only 2-4 hours 
weekly and your entire business is under control. 



^ 



"PROGRAMS ARE INTEGRATED— 

01 = ENTER NAMES/ADDRESS, ETC. 
02= * ENTER/PRINT INVOICES 
03= * ENTER PURCHASES 
04= * ENTER A/C RECEIVABLES 
05= * ENTER A/C PAYABLES 

06 = ENTER/UPDATE INVENTORY 

07 = ENTER/UPDATE ORDERS 

08 = ENTER/UPDATE BANKS 

09 = EXAMINE/MONITOR SALES LEDGER 

10 = EXAMINE/MONITOR PURCHASE LEDGER 
1 1 = EXAMINE/PRINT INCOMPLETE RECORDS 
\ 1 = EXAMINE PRODUCT SALES 



SELECT FUNCTION BY NUMBER 

1 3 = PRINT CUSTOMER STATEMENT 
14 = PRINT SUPPLIER STATEMENTS 
1 5 = PRINT AGENT STATEMENTS 
1 6 = PRINT TAX STATEMENTS 
1 7 = PRINT WEEK/MONTH SALES 

1 8 = PRINT WEEK/MONTH PURCHASES 

19 = PRINT YEAR AUDIT 

20 = PRINT PROFIT/LOSS ACCOUNT 

2 1 = UPDATE END MONTH FILES 

22 = PRINT CASH FLOW FORECAST 

23 = ENTER/UPDATE PAYROLL (NOT YET AVAILABLE) 

24 = RETURN TO BASIC 






WHICH ONE? (ENTER 1-24) 

Each program goes to sub menu, e.g.: 
(9) allows A. LIST ALL SALES; B, MONITOR SALES BY STOCK CODES; 
C. RETRIEVE INVOICE DETAILS; D. AMEND LEDGER FILES; 
E. LIST TOTAL ALL SALES. 

Think of the possibilities and add to those here if you wish. 

Price for current package Version 1 is $550, or Version 2 (including aged debtors analysis, etc.) is $750, or full listing, $300. 

All programs in BASIC for SWTP 6800/Pet 16/32K Systems/Z80 Stroke CPM Systems/Package includes 31 programs. 



Z80 Inquiries = Distributor 

John D. OWENS ASSOCIATES, Inc. 

12 SCHUBERT STREET (new address) 
STATEN ISLAND, NEW YORK 10305 
DAY, EVENING, WEEKEND, HOLIDAY CALLS WELCOME! 
^ (212)448-6283 (212)448-6298 



Mr. Tony Winter 
G. W. Computers Ltd. 

89 Bedford Court Mansion 
Bedford Avenue ^G3s 
London, England WC 1 



Pet Inquires = Distributor 

Grass Valley Computer Systems 
P.O. Box 678 

Ruff and Ready, Calif., 95975 
Ph. 916-272-2793 




v* Reader Service index— page 241 



Microcomputing February 1980 97 



User Report: 

The Heath H14 Line Printer 



This article gives you a quick look at Heathkit's H14 Line Printer. 



Thomas A. Prewitt 
2212 S. Webster St. 
Kokomo IN 46901 



The Heathkit H14 is a ver- 
satile, moderate-speed dot- 
matrix line printer that offers 
many advanced features at an 
attractive price. An on-board 
microprocessor generates a full 
96-character upper/lowercase 
type font and also controls soft- 
ware-selectable line spacing, 
top of form command and char- 
acter width selection of 80, 96 or 
132 characters per line. Paper 
out and paper jam detectors are 
included, as is a local test 
switch that prints a line contain- 
ing the complete character set. 
Although recommended for 
RS-232 operation at 4800 baud, 
the H14 may be configured for 
20 mA current operation as well. 
At a maximum instantaneous 
print rate of 165 characters per 
second, print speed is about 32 
full lines per minute. Printhead 
temperature is sampled after 
each line, and print speed is cut 
back if necessary to prevent 
head overheating on long runs. 
A 256-character line buffer 
stores incoming characters un- 
til a carriage return is detected. 
A complete line is then printed 
while the buffer accumulates 
the next line of text. 



The H14 is assembled on a 
sturdy, one-piece die-cast base 
and fitted with an attractively 
styled hinged plastic cover. An 
adjustable tractor feed accepts 
only edge-perforated Z-fold 
paper forms of up to 9 1/2 inches 
in width, and a welded wire 
paper tray neatly stacks fin- 
ished output. Since the machine 
uses a popular-style typewriter 
ribbon, replacements are inex- 
pensive and readily available. 

To one accustomed to the 
clatter of a teleprinter, the H14 
seems remarkably quiet when 
printing. Since its mechanism 
runs only when actually printing 
a line, it is totally noiseless 
when awaiting output from the 
computer. Print quality is fairly 
good, although slightly on the 
light side, but is quite accept- 
able for program listings and 
some commercial applications 
such as invoices, which are 
commonly printed in uppercase. 

Lowercase is somewhat dif- 
ficult to read, since the 5x7 
print matrix does not allow de- 
scenders on lowercase letters 
such as g and y. For this reason, 
I do not recommend the H14 for 
word-processing applications or 
business correspondence. 

Limitations 

Assembly of the H14 is clear- 
cut, and I encountered no un- 



usual problems in building it. 
Most components are mounted 
on the main circuit board, with 
the stepper motor driver circuits 
on a small separate board. 
Numerous errata sheets, along 
with unused hole patterns on 
the main board, suggest that the 
stepper driver originally was on 
the main board, but a redesign 
added components, forcing the 
addition of the second board. 

Unfortunately, the usually 
excellent Heath documentation 
group had not fully caught up 
with this change, and the first 
task I faced was to add 13 pages 
of text changes and "tape-in" 
sheets to the manuals. Even 
these did not completely docu- 
ment all the changes, as errors 
remained in the final test pro- 
cedures, the large schematic 
diagram and the circuit descrip- 
tion of the stepper driver. Also, 
the fold-in schematic diagram 
was omitted from the operation 
manual. 

While I feel sure that Heath 
will correct these problems in 
subsequent production runs, 
they should also consider mail- 
ing a corrected operation 
manual when available to those 
who received kits from pro- 
duction run 01916. 

My completed kit operated 
when first powered up, but pro- 
duced ragged-looking tabulated 



columns. A note to the Heath 
technical assistance depart- 
ment brought a prompt re- 
sponse from Technical Consul- 
tant Jim Buszkiewicz, who 
diagnosed the problem as a slip- 
ping clutch and recommended 
that it be set tighter than 
specified in the assemb\y 
manual. This corrected the prob- 
lem, and the machine now tabs 
accurately. The ribbon drive 
mechanism had a tendency to 
bind, but by enlarging the holes 
in the two drive ratchets, I easily 
corrected this. I encountered no 
other difficulties, and the 
machine gives the overall im- 
pression that it will be reliable 
and require little maintenance. 

Interfacing 

Interfacing the H14 to a Heath 
H8 or H11 computer is readily 
accomplished with the H8-4 or 
H11-5 I/O card. It is necessary 
only to set the mode jumpers 
and the baud rate switches on 
the card and printer to the 
recommended 4800 baud RS-232 
configuration. The H14 may be 
operated at full-rated speed with 
other computers that have serial 
RS-232 or 20 mA current loop 
outputs with provisions for hand- 
shaking through either a sepa- 
rate sense line or reverse data 
channel. 

In the handshaking mode, the 



98 Microcomputing February 1980 



computer sends characters to 
the printer at a fast rate until the 
printer buffer is nearly full. 
When this condition occurs, the 
handshake signal changes 
state, signaling the computer to 
wait until the buffer is ready to 
accept more characters. Opera- 
tion with handshaking also 



handshaking is not needed 
since the printer always can 
empty the buffer faster than the 
data channel can fill it. 

My preliminary efforts to 
interface the H14 to my Digital 
Group computer indicate that it 
runs nicely from the non-hand- 
shake serial 20 mA output port 




H14 printer and paper tray. Push-button function controls and 
status indicators are on the front panel at the right. 




With cover raised, printer mechanism is completely accessible for 
forms setup, ribbon replacement and cleaning. Test button on cir- 
cuit board prints line containing complete character set. 



gives protection against loss of 
characters if the paper forms 
run out or jam, or if the head 
temperature-limiting circuit cuts 
back the print rate. 

The H14 also may be con- 
nected to operate on a one-way 
110 baud, 20 mA current loop, 
directly replacing an ASCII tele- 
printer. At the 110 baud rate, 



of that machine at a 600 baud 
data rate, after I modified the 
software driver to add a 500 ms 
delay after each carriage return 
character. 

At the current kit price of 
$625, the H14 deserves con- 
sideration by those needing a 
line printer for a home or light- 
duty commercial application. ■ 



MULLEN Computer Products 

EXTENDYOURMICRO 

S-100 EXTENDER/LOGIC PROBE 

for checking out your S-1 OO buss computer. 




tt 



"Everyone who builds kits or 

original boards for the S-100 bus 

needs an extender board and logic probe. 

This is a fine combination. I only wish I 

had mine two years ago. 

Robert L. Leffert 
Kilobaud Microcomputing 
August 1979 



O "1UU CONTROL BOARD a simple to use interface board 
for all S-1 00 buss computers. Let your computer listen to the 

outside world thru 8 opto- 
isolated inputs, make 
program decisions, and 
issue open/close orders to 
8 reed relays. Complete 
programming and opera- 
tion instructions included. If you have a higher power ap- 
plication we offer a 500 watt AC POWER MODULE ($15 
each). 



H8 



CB-1 ($1 29 kit) ($1 79 assm/tested) 

3fe EXTENDER BOARD lets H8 owners 
troubleshoot their boards faster and easier. 

Each board 



H8* is a trademark 
of Heath Company 




can be ex- 
tended above 
the computer 
for complete 
access to all 
circuits and 
components. 

HTB-0 ($39 kit) 



i^M32 



MULLEN Computer Product; 



BOX 6214, HAYWARD, CA 94544, OR PHONE (415) 783-2866. 
VISA/MASTER CHARGE ACCEPTED. 

PLEASE ORDER KITS BY NAME (H8 OR S-100) 
NO CHARGE FOR SHIPPING WHEN PAYMENT IS INCLUDED. 
CALIFORNIA RESIDENTS ADD TAX. 



Order direct or contact your local computer store. 



v? Reader Service index — page 241 



Microcomputing February 1980 99 



SOFTWARE FOR 1980- AND BEYOND 



A new decade begins! It is a time to take inventory of one's past and 
make resolutions for the future. Instant Software resolves to continue to 
bring you new, exciting, and useful programs. The inventory of our past 
accomplishments has now expanded to six pages. We have programs 
for theTRS-80, Levels I and II; PET; Apple II; and Heath H-8. So ring in the 
new with cuan, y proofs ,ro m L-Jp-fl SoftWOre 



»Xl32 




TRS-80 




Level I and II 



OIL TYCOON Avoid oil spills, blowouts and dry 
wells as you battle to become the world's richest 
oil tycoon. Two players become the owners of 
competing oil companies as they search for oil 
and control their companies. Requires a TRS-80 
4K Level I or II. Order No. 0023R $7.95. 

HAM PACKAGE I This versatile package lets you 
solve many of the problems commonly encoun- 
tered in electronics design. With your Level I 4K 
or Level II 16K TRS-80, you have a choice of: 
•Basic Electronics with Voltage Divider — Solve 
problems involving Ohm's Law, voltage dividers, 
and RC time constants. 

• Dipole and Yagi Antennas — Design antennas 
easily, without tedious calculations. 
This is the perfect package for any ham or techni- 
cian. Order No. 0007R $7.95. 



ELECTRONICS I This package will not only 

calculate the component values for you, but will 

also draw a schematic diagram. You'll need a 

TRS-80 Level I 4K, Level II 16K to use: 

•Tuned Circuits and Coil Winding -Design 

tuned circuits without resorting to cumbersome 

tables and calculations. 

•555 Timer Circuits — Quickly design astable or 

monostable timing circuits using this popular IC. 

•LM 381 Preamp Design — Design IC preamps 

with this low-noise integrated circuit. 

This package will reduce your designing time 

and let you build those circuits fast. Order No. 

0008R $7.95. 



Level I 



CAVE EXPLORING/YACHT/MEMORY These 
three programs are not only fun, but stimulating 
as well: 

•Cave Exploring — Search for fabulous treasures 
as you explore the magic cave. For one player. 
•Yacht -A two-player game of strategy and 
chance. The computer rolls the dice and keeps 
score. 

•Memory — Two players can pit their memories in 
this program based on a popular television show. 
You'll need a TRS-80 with Level I and 16K. Order 
No. 001 OR $7.95. 



CAR RACE/RAT TRAP/ANTIAIRCRAFT Enjoy 

these challenging, fun-filled programs: 

•Car Race — You and a friend can race on a 

choice of two tracks. 

• Rat Trap - Trap the rat in his maze with your two 

cats. For one player. 

•Antiaircraft — Aim and shoot down the enemy 

airplane. Requires Level I 4K TRS-80. Order No. 

001 1R $7.95. 



Designed 
tor use on 

TRS-80* 

4K 
LEVEL I 

16K 
LEVEL II 



Air Flight 
Simulation 

* A trademark ol TanOy Corporation 



AIR SPF.FJ 



F ST61L t ICO 



61THUDE 
F! 



I, , , i i i i i • i i i i • • i i| 

i 



AIR FLIGHT SIMULATION Turn your TRS-80 
into an airplane. You can practice takeoffs 
and landings with the benefit of full in- 
strumentation. This one-player simulation re- 
quires a TRS-80 Level I 4K, Level II 16K. Order 
No. 001 7R $7.95. 



BEGINNER'S BACKGAMMON/KENO Why sit 

alone when you can play these fascinating 
games with your TRS-80? 
• Backgammon — Play against the computer. 
Your TRS-80 will give you a steady, challenging 
game that's sure to sharpen your skills. 
•Keno — Enjoy this popular Las Vegas gambling 
game. Guess the right numbers and win big. 
You'll need a TRS-80 Level I or II. Order No. 0004R 
$7.95. 

BOWLING Let your TRS-80 set up the pins and 
keep score. One player can pick up spares and 
get strikes. For the TRS-80 Level I 4K, Level II 
16K. Order No. 0033R $7.95. 



BUSINESS PACKAGE IV Business Package IV 
gives you, the businessman, a superb tool to help 
you make those important decisions. This pack- 
age includes: 

•Business Cycle Analysis -This program isn't a 
crystal ball, but it can show you your business's 
expansion and contraction cycles. You can plot 
any aspect of your business on a graph and see, 
in black and white, just what's happening. This 
program will give you access to information you 
couldn't get before. 

•Financial Analysis- Would you like a financial 
assistant who could instantly give you the fig- 
ures for almost any kind of investment? Finan- 
cial Analysis can handle annuities, sinking 
funds, and mortgages, and compute bond yield 
and value. You'll have the facts you need at the 
tips of your fingers with this program. 

Included in the package is one specially 
marked blank data cassette for use in storing 
essential business data. 

Business Package IV, with its combination of 
analytic functions and convenience features, is 
an invaluable asset for any businessman. All you 
need is a TRS-80 Level I 4K or Level II 16K. Order 
No. 001 9R $9.95. 



GOLF/CROSS-OUT Have fun with these exciting 

one-player games. Included are: 

•Golf - You won't need a mashie or putter - or a 

caddie, for that matter — to enjoy a challenging 

18 holes. 

•Cross-out — Remove all but the center peg in 

this puzzle, and your neighbors will call you a 

genius. 

You'll need a TRS-80 Level I 4K, Level II 16K. 

Order No. 0009R $7.95. 



BASIC AND INTERMEDIATE LUNAR LANDER 

Bring your lander in under manual control. The 
BASIC version is for beginners; the Intermediate 
version is more difficult, with a choice of landing 
areas and rugged terrain. For one player with a 
TRS-80 Level I 4K, Level II 16K. Order No. 0001 R 
$7.95. 



SPACE TREK II Protect the quadrant from the in- 
vading Klingon warships. The Enterprise is 
equipped with phasers, photon torpedoes, im- 
pulse power, and warp drive. It's you alone and 
your TRS-80 Level I 4K, Level II 16K against the 
enemy. Order No. 0002R $7.95. 



KNIGHT'S QUEST/ROBOT CHASE/HORSE RACE 

This varied package of one-player games will 
give you hours of fun. 

• Knight's Quest — Battle demons to gain 
treasure and become a full-fledged knight. 

• Robot Chase — Destroy the deadly robots 
without electrocuting yourself. 

•Horse Race — Place your bet and cheer your 
horse to the finish line. 

These programs require a TRS-80 Level I 4K. 
Order No. 0003R $7.95. 



STATUS OF HOMES/AUTO EXPENSES Two long 

awaited programs that have got to save you 

money at work or in the home: 

•Status of Homes -This program will allow you 

to keep track of all the expenses involved in 

building one house or an entire subdivision. 

•Auto Expenses — Find out exactly what it costs 

you to drive your car or truck. 

These programs require a TRS-80 Level I 4K. 

Order No. 001 2R $7.95. 



DESTROY ALL SUBS/GUNBOATS/BOMBER This 
package of three programs is fun for the whole 
family. Included are: 

•Destroy All Subs — Hunt down enemy subs 
while avoiding mines and torpedoes. A one- 
player game. 

•Gunboats — Try to blow the enemy's ship out of 
the water. For one or two players. 
• Bomber — Carefully release your bomb to 
destroy the moving submarine. A one-player 
game. 

To enjoy these programs, you'll need a TRS-80 
Level I 4K. Order No. 0021 R $7.95. 




100 Microcomputing February 1980 



Level I 



BUSINESS PACKAGE I Keep the books for a 
small business with your TRS-80 Level I 4K. The 
six programs included are: 
•General Information -The instructions for us- 
ing the package. 

•Fixed Asset Control — This will give you a list of 
your fixed assets and term depreciation. 
•Detail Input — This program lets you create and 
record your general ledger on tape for fast ac- 
cess. 

•Month and Year to Date Merge -This program 
will take your monthly ledger data and give you a 
year to date ledger. 

•Profit and Loss — With this program you can 
quickly get trial balance and profit-and-loss 
statements. 

•Year-End Balance — This program will combine 
all your data from the profit-and-loss statements 
into a year-end balance sheet. 
With this package, you can make your TRS-80 a 
working partner. Order No. 001 3R $29.95. 

BUSINESS PACKAGE III This package can 
change your TRS-80 into a full working partner 
for any businessman: 

•Inventory — Maintain a computer-based inven- 
tory for a constant inventory system. 
•Commissions and Percentages — Let your com- 
puter figure out markup and discount calcula- 
tions, sales tax and more. This is a perfect time- 
saving package for any small business. 
For the TRS-80 Level I 4K. Order No. 0061 R $7.95. 

DOODLES AND DISPLAYS I Here's a mixed bag 
of programs that's sure to entertain: 
•Doodle Pad — Draw pictures and save them on 
cassette tapes. 

•Symmetries — Turn your TRS-80 into a kaleido- 
scope. 

•Video Display — Follow the bouncing cursor as 
your TRS-80 draws its own pictures. 
•Mathcurves — Bring those geometry lessons to 
life as the computer draws six different geomet- 
rical curves. 

•Rugpattems — A never-ending stream of sym- 
metrical patterns that's sure to spark your imag- 
ination. 

All you'll need is a 16K Level I TRS-80. Order No. 
0030R $7.95. 



SPACE TREK III Let yourself go to the far ends of 
the solar system -and beyond. This package in- 
cludes: 

•Stellar Wars -Shoot down the Tie fighters and 
destroy the Death Star. 

•Planetary Lander— Land your spacecraft and 
plant your flag across the solar system. 
These one-player games require a TRS-80 Level I 
4K. Order No. 0031 R $7.95. 



FUN PACKAGE I Why call it "Fun Package"? 
Judge for yourself! This entertaining package in- 
cludes: 

•Rocket Pilot - Flying it is easy - it's the landing 
that's tough! 

•Paper, Rock, Scissors -It's the time-honored 
game just as you remember it, played against 
your TRS-80. 

•Hex I — Just when you master this puzzle game, 
the computer will increase the difficulty. 
•Missile Attack — Use your missiles to protect 
your city from jet attack. 

Requires a Level I 16K TRS-80. Order No. 0037R 
$7.95. 

TYPING TEACHER This complete seven-part 
package takes you all the way from initial 
familiarization with the keys, through typing 
words and phrases, to complete mastery of the 
keyboard. Your computer can even become a bot- 
tomless page for typing practice. It only requires 
a TRS-80 Level I 4K. Order No. 0099R $7.95. 

PERSONAL FINANCE I Let your TRS-80 handle 
all the tedious details the next time you figure 
your finances: 

•Personal Finance I — With this program you can 
control your incoming and outgoing expenses. 
•Checkbook -Your TRS-80 can balance your 
checkbook and keep a detailed list of expenses 
for tax time. 

This handy financial control for the home re- 
quires only a TRS-80 Level I 4K. Order No. 0027R 
$7.95. 

DEMO I This package is just the thing to show 

your friends what your TRS-80 can do. Included 

are: 

•Computer Composer — Compose and play 

music using only a standard AM radio. 

•Baseball — Play baseball with your computer 

while it does the scorekeeping. 



•Horse Race -Place your bet and cheer your 
pony to the winner's circle. 
•ESP - Test your powers of extrasensory percep- 
tion. 

•Hi-Lo/Tic-tac-toe- Guess the secret number or 
get three in a row. 

•Petals Around the Rose — Can you figure out the 
secret behind the five dice? 
•Slot Machine — Turn your computer into a one- 
armed bandit. These programs require a TRS-80 
Level I 4K. Order No. 0020R $7.95. 



HEXPAWN/SHUTTLE CRAFT DOCKING/SPACE 
CHASE/SEA BATTLE This four-game package is 
sure to provide hours of fun for the whole family. 
•Hexpawn - Turn your TRS-80 into a model of ar- 
tificial intelligence by playing a simple game. 
•Shuttle Craft Docking -Land your shuttle craft 
on the starship — even through varying gravity 
fields! 

•Space Chase — Seek out and destroy the enemy 
delta that's hidden in the star field. 
•Sea Battle — You must find and destroy the 
enemy fleet. 

This package requires a TRS-80 Level I 16K 
Order No. 0041 R $7.95. 




DEMO II Now get more fun for the bucks with this 

amazing package. 

•Tic-Tac-Toe-Play an old-time favorite with 

three levels of difficulty. 

•Time Trials — Try to beat the clock as you race 

your car through curves, chutes, and chicanes. 

•Maze — One or two players can search through 

the maze for the secret square. 

•Hangman — One or two players can try to guess 

the secret word. 

•Wheel of Fortune — Choose your number, place 

your bet, and see if you can break the bank (for 

one to eight players). 

•Hurricane- Now you can track and monitor 

hurricanes anywhere in the world. 

•Bugsy-Can you build yourZ-80 bug before the 

computer does? 

•Horse Race — Pick a sure winner and place your 

bet (for 1 to 100 players). 

All you'll need is a TRS-80 Level II 16K. Order No. 

0049R $7.95. 



EVERY FLIGHT IS A SPECIAL DELIVERY 



Designed 
for use on 

TRS-80* 

16K 
LEVEL 



I • m % % m, 





OK, Ace, you survived everything that von Richthofen and the 
Flying Circus threw at you. Well, that was four long years ago - and 
yesterday's medals don't pay the rent. But just a minute, here's an 
ad: __ 

"Airmail Pilot wanted . . ." 

You can almost smell the gasoline as the ground 
crew fuels your J-4 Jenny biplane to her 26-gallon 
limit. Precious mail is loaded into the cargo area, 
tagged for Chicago. The weatherman reports 
severe icing above 6,000 feet, so you know you 
have to keep the plane low. It will be a dangerous 
flight, but you knew that when you took the job. 
The mail must go through. So, in the tradition of Lindbergh and a hundred 
unsung heroes, you bravely turn your plane into the wind. The engine 
roars. Suddenly you're aloft on the first leg of your journey. Dayton's 
socked in by fog. You change your course for Lucasville. Lightning 
zigzags the sky. A massive, fast-moving thunderstorm forces you to land 
in a cornfield. As the weather clears, your plane leaps once more into the 
sky. But even clear skies can cause problems — violent air currents buf- 
fet your fragile wooden aircraft. Your fuel is down to two gallons as 
Lucasville comes into sight. You make it! Refuel and head for Chicago. 
But you're not out of trouble yet. There's a wind shear at the Chicago air- 
port. You have to land in a shifting crosswind. Can you make it? AIRMAIL 
PILOT from INSTANT SOFTWARE. Unlike any other computer simula- 
tion you've ever experienced. Challenging. Difficult. But never impossi- 
ble. An event in a cassette. Crash or fly, it's so realistic, you can almost 
feel the wind. Requires a Level II 16K. Order No. 0106R $7.95. 




v* Reader Service index— page 241 



Microcomputing February 1980 101 



Level II 



SPACE TREK IV Trade or wage war on a 
planetary scale. This package includes: 
•Stellar Wars — Engage and destroy Tie fighters 
in your attack on the Death Star. For one player. 

• Population Simulation — A two-player game 
where you control the economy of two neighbor- 
ing planets. 

You decide, guns or butter, with your TRS-80 
Level II 16K. Order No. 0034 R $7.95. 

TRS-80 UTILITY II Let Instant Software change 
the drudgery of editing your programs into a 
quick, easy job. Included in this package are: 
•CFETCH- Search through any Level II program 
tape and get the file names for all the programs. 
You can also merge BASIC programs with con- 
secutive line numbers into one program. 
•CWRITE- Combine subroutines that work in 
different memory locations into one program. 
This works with BASIC or machine-language pro- 
grams and gives you a general checksum. 
This package is just the thing for your TRS-80 
Level II 16K. Order No. 0076R $7.95. 

RAMROM PATROL/TIE FIGHTER/KLINGON 
CAPTURE Buck Rogers never had it so good. 
Engage in extraterrestrial warfare with: 

• Ramrom Patrol -Destroy the Ramrom ships 
before they capture you. 

•Tie Fighter -Destroy the enemy Tie fighters 
and become a hero of the rebellion. 

• Klingon Capture — You must capture the Kling- 
on ship intact. It's you and your TRS-80 Level II 
16K battling across the galaxy. Order No. 0028R 
$7.95. 

DOODLES AND DISPLAYS II Wait until your 

children get hold of this package: 

•Doodle Pad — Draw pictures and save them on 

cassette tapes. 

•Symmetries — An electric kaleidoscope that 

changes from black to white and back again. It's 

almost hypnotic! 

•Drawing -Like Doodle Pad, but for the serious 

artist. Over 40 user commands! 

•Random Pattern Display — The computer does 

the drawing, but those with itchy fingers can 

tamper. 

•Mathcurves — Bring those geometry lessons to 

life. Six different geometrical curves on the 

screen of your TRS-80. 

•Rugpatterns — Yes, it does design rug patterns; 

and with a choice of user or computer control, it 

can do a whole lot more. 

For the Level II 16K TRS-80. Order No. 0042R 

$7.95. 

DEMO III This is the biggest package that Instant 

Software has ever released. Just look at what's 

included: 

•Race 1 —Careen around the race course as you 

try to beat the clock. 

•Target UFO -Destroy all the invading UFOs to 

rack up a big score. 

•Life — Experiment with this simulation of the 

life cycle of a colony of bacteria. 

•Phone Number Converter — Change those hard- 

to-remember 7-digit phone numbers into easily 

remembered words. 

• Biorhythm — You or your friends can see your 
biorhythm curves whenever you want. 
•Graphics Program — This program will really 
show you what your TRS-80's graphics display 
can do. 

•Race 2 — Our racing game simulation for the 
more experienced driver includes a choice of five 
different tracks. 

•Horse Race — Up to nine players can bet on and 
enjoy our most entertaining horse race program. 

• Drawing Board — Draw pictures or messages 
and store them in memory or on cassette tape 
with this easy-to-use program. 

•24-Hour Clock — Transform your computer into 
an accurate digital clock. 

To enjoy this tremendous value, you'll need a 
TRS-80 Level II 16K. Order No. 0055 R $7.95. 




Designed 
for use on 

TRS-80* 

16K 
LEVEL 



TEACHER 



Required to know 
your lessons verba- 
tim? Here's a tutorial 
program that will 
meet your needs. 

TEACHER 

What do you need to learn? Would you like to know all of the cranial nerves? Electronic color 
codes? Civil War battles? Signs of the zodiac? Whatever your subject matter, the Teacher 
package can help you learn it. You simply input up to twenty questions and answers at one 
time. Next, review the material, and then take the test until you have your lesson down pat. The 
program gives you up to three hints per question and even offers graphic rewards for children, 
all at your discretion. All the information can be saved on cassette tape for reuse. 

This package also contains the Teacher Data Transfer program, which allows you to com- 
bine several tests on one tape. That means you can learn a number of lessons sequentially 
without changing tapes. Teacher requires a 16K Level II TRS-80. Order No. 0065R $9.95. 



CARDS This one-player package will let you play 
cards with your TRS-80 — talk about a poker face! 
•Draw and Stud Poker — These two programs will 
keep your game sharp. 

• No-Trump Bridge — Play this popular game with 
your computer and develop your strategy. 
This package's name says it all. Requires a 
TRS-80 Level II 16K. Order No. 0063R $7.95. 



INSTANT SOFTWARE 



S7.95 



Doatgnod 

lor uaa on 

TRS-80* 

16K 
LEVEL II 



Video Speed- 
Reading Trainer 



• RAPD1 «RAP02 »RAPD3 • RAPD4 

of Tandy Corporation 




1 00R ln *'* n ' Software Inc PetertwrouQ* NM 03456 USA S*9 '«wsr tor program information 



VIDEO SPEED-READING TRAINER As your 
eyes move along, reading this sentence, do 
you see the words like this? Most peo- 
ple's reading speed is limited simply because 
they read individual letters or words. Now you 
can increase your reading speed and com- 
prehension, and soon be reading whole 
words and phrases, with the Video Speed- 
Reading Trainer package from Instant Soft- 
ware. 

Using the same scientific principle as the 
tachistoscope, a mechanical device used to 
flash characters or words on a screen, this 
three-part program will train your mind to 
quickly recognize numbers, words, letters, 
and phrases. 

The program will take you step by step 
through a systematic training procedure. 
You'll start at whatever level of competency 
you feel is appropriate, and the computer will 
automatically advance you as your reading 
speed and comprehension increase. For the 
Level II 16K TRS-80 Microcomputer. Order 
No. 0100 R $7.95. 



HOUSEHOLD ACCOUNTANT Let your TRS-80 
help you out with many of your daily household 
calculations. Save time and money with these 
fine programs: 

•Budget and Expense Analysis — You can 
change budgeting into a more pleasant job with 
this program. With nine sections for income and 
expenses and the option for one- and three- 
month review or year totals, you can see where 
your money is going. 

•Life Insurance Cost Comparison — Compare the 
costs of various life insurance policies. Find out 
the difference in price between term and whole 
life. This program can store and display up to six 
different results. 

All you need is TRS-80 Level II 16K. Order No. 
0069R $7.95. 



FINANCIAL ASSISTANT Compute the figures for 
a wide variety of business needs. Included are: 

• Depreciation — This program lets you figure 
depreciation on equipment in five different ways. 

• Loan Amortization Schedule — Merely enter a 
few essential factors, and your TRS-80 will 
display a complete breakdown of all costs and 
schedules of payment for any loan. 

• Financier — This program performs thirteen 
common financial calculations. Easily handles 
calculations on investments, depreciation, and 
loans. 

•1% Forecasting -Use this simple program to 
forecast sales, expenses, or any other historical 
data series. 

All you need is a TRS-80 Level II 16K. Order No. 
0072R $7.95. 



MODEL ROCKET ANALYZER AND PREFLIGHT 
CHECK Let your TRS-80 help you enjoy the fast- 
growing hobby of model rocketry. The comple- 
mentary programs included are: 
•Model Rocket Flight History Prediction — This 
program will compute the flight characteristics 
for almost any model rocket. Engine and body 
tube data included covers Estes, Centuri, Flight 
Systems, A.V.I. Astroport, C.M.R., and Kopter 
products. 

•Weather Forecaster -Before you launch your 
rocket, get an up-to-the-minute weather forecast. 
Just enter your location, elevation, average 
temperatures for January and July, and baromet- 
ric pressure. You'll be the short-range weather 
forecaster for your area. 

For a successful launch, you'll need TRS-80 
Level II16K. Order No. 0024R $7.95. 



102 Microcomputing February 1980 



Level II 



SANTA PARAVIA AND FIUMACCIO 

Become the ruler of a medieval city-state as you 
struggle to create a kingdom. Up to six players 
can compete to see who will become the King or 
Queen first. This program requires a TRS-80 
Level I or II 16K. Order No. 0043R $7.95. 

TRS-80 UTILITY II Let Instant Software change 
the drudgery of editing your programs into a 
quick, easy job. Included in this package are: 
•CFETCH — Search through any Level II program 
tape and get the file names for all the programs. 
You can also merge BASIC programs with con- 
secutive line numbers into one program. 
•CWRITE — Combine subroutines that work in 
different memory locations into one program. 
This works with BASIC or machine-language pro- 
grams and gives you a general checksum. 
This package is just the thing for your TRS-80 
Level II 16K. Order No. 0076R $7.95. 

SPACE TREK IV Trade or wage war on a 
planetary scale. This package includes: 



•Stellar Wars — Engage and destroy Tie fighters 
in your attack on the Death Star. For one player. 
•Population Simulation — A two-player game 
where you control the economy of two neighbor- 
ing planets. 
PERSONAL BILL PAYING 



You decide, guns or butter, with your TRS-80 
Level II 16K. Order No. 0034 R $7.95. 



NOTE: This package can take the head- 
aches and/or penalties out of paying your 
bills. 
In a business office the accounts payable 
(bills) are usually paid on or immediately before 
their due date. That way, the payer gets the 
fullest use of his money without incurring 
penalties for being behind in paying his debts. 
Now you can take advantage of this system for 
your monthly bills, letting your TRS-80 do all the 
drudgery and record keeping. 

This useful package provides a computerized 
list of all your bills and payments. You can ac- 
cess as many as 22 accounts, all of which can be 
named — up to 15 characters per name. Each ac- 
count is listed by number, amount owed, due 
date, and present activity. 

Don't confuse this system with a "checkbook" 
program. The functions of this package are 
threefold: (1) to monitor your bills; (2) to order 
payments most effectively; and (3) to make 
historical comparisons of individual accounts or 
specific months. 



After you load the program, it displays a menu 
of 11 activities. They include: 

Build and Maintain Files 

List All Accounts 

List Current Accounts 

Make Payment(s) to Account 

Enter New Bill to Account 

Display Payment History of Individual Ac- 
count (includes date paid, check number, and 
12-month total) 

Display Payment History of Selected Month 

Delete Account 

Delete Prior Month's Payment 

Save File on Tape 

Input File from Tape 

After you have updated the records by entering 
new bills, paying bills, or changing the accounts, 
you can save all the information on data tape. 
This data tape will then be input for the next time 
you use the package. Maybe it can't make paying 
bills all fun and games, but it should relieve some 
of the agony. Level II 16K required. Order No. 
0103R $7.95. 




PET 



* * 




PERSONAL WEIGHT CONTROL/BIORHYTHMS 

Let your PET help take care of your personal 
health and safety: 

•Personal Weight Control - Your PET will not on- 
ly calculate your ideal weight, but also offer a 
detailed diet to help control your caloric intake. 

• Biorhythms — Find out when your critical days 
are for physical, emotional, and intellectual 
cycles. 

You'll need only a PET with 8K memory. Order 
No. 0005P $7.95. 

CASINO I These two programs are so good, you 
can use them to check out and debug. your own 
gambling system! 

• Roulette — Pick your number and place your bet 
with the computer version of this casino game. 
For one player. 

•Blackjack — Try out this version of the popular 
card game before you go out and risk your money 
on your own "surefire" system. For one player. 
This package requires a PET with 8K. Order No. 
0014P $7.95. 

MORTGAGE WITH PREPAYMENT OPTION/FI- 
NANCIER These two programs will more than 
pay for themselves if you mortgage a home or 
make investments: 

•Mortgage with Prepayment Option — Calculate 
mortgage payment schedules and save money 
with prepayments. 

• Financier — Calculate which investment will 
pay you the most, figure annual depreciation, 
and compute the cost of borrowing, eas/7y and 
quickly. 

All you need to become a financial wizard with an 
8K PET. Order No. 0006P $7.95. 

CASINO II This craps program is so good, it's the 
next best thing to being in Las Vegas or Atlantic 
City. It will not only play the game with you, but 
will also teach you how to play the odds and 
make the best bets. A one-player game, it re- 
quires a PET 8K. Order No. 001 5P $7.95. 

ARCADE I This package combines an exciting 
outdoor sport with one of America's most pop- 
ular indoor sports: 

• Kite Fight -It's a national sport in India. After 
you and a friend have spent several hours 
maneuvering your kites across the screen of your 
PET, you'll know why! 

iS Reader Service index— page 241 



•Pinball — By far the finest use of the PET's ex- 
ceptional graphics capabilities we've ever seen, 
and a heck of a lot of fun to boot. 
Requires an 8K PET. Order No. 0074P $7.95. 



DEPRECIATION SCHEDULE 



- STRAIGHT LINE METHOD 

- SUM OF VEARS-D1GITS METHOD 

- DECLINING BALANCE METHOD 

- UNITS OF PRODUCTION METHOD 

- MACHINE HOURS METHOD 

- END OF PROGRAM 



SELECT ONE OF THE OPTIONS 



ACCOUNTING ASSISTANT This package will 
help any businessman solve many of those 
day-to-day financial problems. Included are: 
•Loan Amortization Schedule — This program 
will give you a complete breakdown of any 
loan or investment. All you do is enter the 
principal amount, interest rate, term of the 
loan or investment, and the number of 
payments per year. You see a month-by- 
month list of the principal, interest, total 
amount paid, and the remaining balance. 
•Depreciation Schedule — You can get a de- 
preciation schedule using any one of the 
following methods: straight line, sum of 
years-digits, declining balance, units of pro- 
duction, or machine hours. Your computer 
will display a list of the item's lifespan, the 
annual depreciation, the accumulated depre- 
ciation, and the remaining book value. This 
package requires the PET 8K. Order No. 
0048P $7.95. 



ARCADE II One challenging memory game and 
two fast-paced action games make this one 
package the whole family will enjoy for some 
time to come. Package includes: 
•UFO -Catch the elusive UFO before it hits the 

ground! 

•Hit -Better than a skeet shoot. The target re- 
mains stationary, but you're moving all over the 
place. 

•Blockade -A two-player game that combines 
strategy and fast reflexes. 
Requires 8K PET. Order No. 0045P $7.95. 



DUNGEON OF DEATH Battle evil demons, cast 
magic spells, and accumulate great wealth as 
you search for the Holy Grail. You'll have to de- 
scend into the Dungeon of Death and grope 
through the suffocating darkness. If you survive, 
glory and treasure are yours. For the PET 8K. 
Order No. 0064P $7.95. 

BASEBALL MANAGER This pair of programs will 
let you keep statistics on each of your players. 
Obtain batting, on-base, and fielding averages at 
the touch of a finger. Data can be easily stored 
on cassette tape for later comparison. All you 
need is a PET with 8K. Order No. 0062P $14.95. 

PENNY ARCADE Enjoy this fun-filled package 

that's as much fun as a real penny arcade — at a 

fraction of the cost! 

•Poetry — Compose free verse poetry on your 

computer. 

•Trap — Control two moving lines at once and 

test your coordination. 

•Poker— Play five-card draw poker and let your 

PET deal and keep score. 

•Solitaire — Don't bother to deal, let your PET 

handle the cards in this "old favorite" card game. 

•Eat-Em-Ups — Find out how many stars your 

Gobbler can eat up before the game is over. 

These six programs require the PET with 8K. 

Order No. 0044P $7.95. 



MIMIC Test your memory and reflexes with the 
five different versions of this game. You must 
match the sequence and location of signals 
displayed by your PET. This one-player program 
includes optional sound effects with the PET 8K. 
Order No. 0039P $7.95. 



DECORATOR'S ASSISTANT This integrated set 
of five programs will compute the amount of 
materials needed to redecorate any room, and 
their cost. All you do is enter the room dimen- 
sions, the number of windows and doors, and the 
base cost of the materials. These programs can 
handle wallpaper, paint, panelling, and carpet- 
ing, letting you compare the cost of different 
finishing materials. All you'll need is a PET 8K. 
Order No. 01 04P $7.95. 



TREK-X Command the Enterprise as you scour 
the quadrant for enemy warships. This package 
not only has superb graphics, but also includes 
programming for optional sound effects. A one- 
player game for the PET 8K. Order No. 0032P 
$7.95. 

Microcomputing February 1980 103 




PET 



* * 




DIGITAL CLOCK Don't let your PET sit idle when 
you are not programming — put it to work with 
these two unique and useful programs: 
• Digital Clock — Turn you PET into an extremely 
accurate timepiece that you can use to display 
local time and time in distant zones, or as a split- 
time clock for up to nine different sporting 
events. 

•Moving Sign — Let the world know what's on 
your mind. This program turns your PET into a 
flashing graphic display that will put your 
message across. Order No. 0083P $7.95. 

TURF AND TARGET Whether on the field or in the 
air, you'll have fun with the Turf and Target 
package. Included are: 



•Quarterback - You're the quarterback as you try 
to get the pigskin over the goal line. You can 
pass, punt, hand off, and see the result of your 
play with the PET's superb graphics. 
•Soccer II — Play the fast-action game of soccer 
with four playing options. The computer can play 
itself or a single player; two can play with com- 
puter assistance, or two can play without help. 
•Shoot — You're the hunter as you try to shoot the 
bird out of the air. The PET will keep score. 
•Target — Use the numeric keypad to shoot your 
puck into the home position as fast as you can. 
To run and score, all you'll need is a PET with 8K. 
Order No. 0097P $7.95. 



TANGLE/SUPERTRAP These two programs re- 
quire fast reflexes and a good eye for angles: 
•Tangle — Make your opponent crash his line in- 
to an obstacle. 
•Supertrap — This program is an advanced ver- 



sion of Tangle with many user control options. 
Enjoy these exciting and graphically beautiful 
programs. For one or two players with an 8K PET. 
Order No. 0029P $7.95. 

CHECKERS/BACCARAT Play two old favorites 
with your PET. 

•Checkers — Let your PET be your ever-ready op- 
ponent in this computer-based checkers pro- 
gram. 

•Baccarat -You have both Casino- and Black- 
jack-style games in this realistic program. 
Your PET with 8K will offer challenging play 
anytime you want. Order No. 0022P $7.95. 

DOW JONES Up to six players can enjoy this ex- 
citing stock market game. You can buy and sell 
stock in response to changing market condi- 
tions. Get a taste of what playing the market is 
all about. Requires a PET with 8K. Order No. 
0026P $7.95. 




Apple 



* * * 




GOLF Without leaving the comfort of your chair, 
you can enjoy a computerized 18 holes of golf 
with a complete choice of clubs and shooting 
angles. You need never cancel this game be- 
cause of rain. One or two players can enjoy this 
game on the Apple with Applesoft II and 20K. 
Order No. 001 8A $7.95. 



BOWLING/TRILOGY Enjoy two of America's 

favorite games transformed into programs for 

your Apple: 

• Bowling — Up to four players can bowl while the 

Apple sets up the pins and keeps score. Requires 

Applesoft II. 

•Trilogy — This program can be anything from a 

simple game of tic-tac-toe to an exercise in 

deductive logic. For one player. 

This fun-filled package requires an Apple with 

20K. Order No. 0040A $7.95. 



MATH TUTOR I Parents, teachers, students, now 
you can turn your Apple computer into a math- 
ematics tutor. Your children or students can 
begin to enjoy their math lessons with these pro- 
grams: 

• Hanging — Perfect your skill with decimal 
numbers while you try to cheat the hangman. 
•Spellbinder— Cast spells against a competing 
magician as you practice working with fractions. 
•Whole Space — While you exercise your skill at 
using whole numbers, your ship attacks the 
enemy planet and destroys alien spacecraft. 
All programs have varying levels of difficulty. All 
you need is Applesoft II with your Apple II 24K. 
Order No. 0073A $7.95 

MORTGAGE WITH PREPAYMENT OPTION/FIN- 
ANCIER (see description for PET version 0006P) 
This package requires the Apple 16K. Order No. 
0094A $7.95. 



ACCOUNTING ASSISTANT (see the description 
for the PET version 0048P) This package requires 
the Apple 16K. Order No. 0088A $7.95. 



MIMIC (see description for the PET version 
0039P) This package requires the Apple 24K. 
Order No. 0025A $7.95. 




HEATH 



**** 




MENTAL GYMNASTICS Pit your mind against 
the challenge of these ancient games: 
• Reversi — As you and a friend or the computer 
place your pieces on the board, you must each 
try to capture your opponent's pieces. The score 
can fluctuate wildly, and nobody can tell who'll 
win until the last move. 

•Wari — You can play a friend or the computer in 
this simple yet intriguing game. The two players 
take turns removing pieces from one cup and 
placing them in the other cups. As play con- 
tinues, the number of pieces decreases. The last 
player who has a piece to move wins the game. 
To enjoy these ageless games, you'll need the 
Heath H-8 with 8K. Order No. 0087H $7.95. 



MATH TUTOR II Your Apple computer can go 
beyond game playing and become a mathe- 
matics tutor for your children. Using the tech- 
nique of immediate positive reinforcement, you 
can make math fun with: 

•Car Jump — Reinforce the concept of calculat- 
ing area while having fun making your car jump 
over the ramps. 



•Robot Duel — Practice figuring volumes of 
various containers while your robot fights 
against the computer's mechanical man. 
•Sub Attack — Take the mystery out of working 
with percentages as your submarine sneaks into 
the harbor and destroys the enemy fleet. 
All you need is Applesoft II with your Apple II and 
20K. Order No. 0098A $7.95. 



DATA TAPES Use these high-quality leaderless 
data tapes to record business or personal data. 
Four tapes per package. Order No. 0067 $7.95. 

*A trademark of Tandy Corporation 

**An trademark of Commodore Business Machines, Inc. 

***A trademark of Apple Computer, Inc. 

* * * * A trademark of the HEATH Company 



Circle I32 on inquiry card. 



n 



u 



Name 



Order 

Your Instant 

Software 

today! 



Address 



City 



State. 



Zip 



a Check 



D Money Order 



□ VISA 



D AMEX 



□ Master Charge 



Card No 



Signature 



Expiration date 



Date 



Quantity 



Order No. 



Program name 



Handling 



Unit Cost 



Instant Software Inc. d*..*™ 

Peterborough. N.H. 03458 USA 



Prices Valid In USA Only Total order 



Total Cost 



$1.00 



104 Microcomputing February 1980 



Ask for Instant Software at a computer store near you. 



Alabama 

Anderson Computers 

3156 University Dr.. Huntsville 

The Computer Shack 

913 Shadyview Lane, Adamsville 

Computerland of Huntsville 
3020 University Dr.. Huntsville 

Olensky Bros. 

3763 Airport Blvd.. Mobile 

Arizona 

Ham Shack 

450 6-A N. 16th St.. Phoenix 

Millets TV & Radio 

621 East Broadway. Mesa 

Resalem Electronics 

16610 Meadow Park Dr., Sun City 

California 

Amco Elect. Supply 

635 E Arrow Hwy.. Azusa 

Byte Shop of Fairfield 

87 Marina Center St.. Suisun City 

Byte Shop of Mt. View 

1415 West El Camino Real. Mt. View 

Byte Shop of Sacramento 

6041 Greenback Ln., Citrus Heights 

Capital Computer Systems 

3396 El Camino Ave.. Sacramento 

Computer Components of Burbank 
3808 West Verdugo Ave.. Burbank 

Computer Components of South Bay 
15818 Hawthorne Blvd.. Lawndale 

Computers Made Easy 

819 East Ave Q-9. Palmdale 

Computer World 

6791 Westminster Ave.. Westminster 

Computerland 

16720 S. Hawthorne. Lawndale 

Computerland of San Francisco 
117 Fremont St., San Francisco 

Computerland of W. LA 

6840 La Cienega Blvd.. Inglewood 

Coast Electronics 

3118 No. Main St., Morro Bay 

Hobby World 

19511 Business Ctr Dr . Unit 6 

Borthridge 

ICE. House Inc. 

398 North E. St.. San Bernardino 

Marfam Co 

6351 Almadin Rd.. San Jose 

Microsun Computer Center 

2989 North Mam St.. Walnut Creek 

Opamp/Technical Books 

1033 N. Sycamore Ave.. Los Angeles 

Radio Shack Dealer 
8250 Mira Mesa Blvd.. San Diego 
Santa Rosa Computer Center 
604 7th St., Santa Rosa 

Silver Spur Elect. Comm. 
3873 F. Shaefer Ave , Chino 

The Computer Store 

820 Broadway, Santa Monica 

Colorado 

Byte Shop 

3464 S Acoma St., Englewood 

Colorado Computer Systems 
311 W 74th Ave . Westminster 

Computerland of North Denver 
8749 Wadsworth Blvd . Arvada 

The Computer Store 
2300 Welton St., Denver 

Connecticut 

American Business Computers 
Rt 184 & Rt. 117, Groton 

Computerlab 

130 Jefferson. New London 

The Computer Store 

43 South Main St., Windsor Locks 

D.C. 

The Program Store 

4200 Wisconsin Ave.. N.W.. 

Washington. DC 

Florida 

Adventure International 

200 Bald Cypress Ct., Longwood 



Alvorado Export 

8525 NW 56th St.. Miami 

AMF Electronics 

11146 N. 30th St.. Tampa 

Boyd-Ebert Corporation 

1328 West 15th St.. Panama City 

Computer Center 

6578 Central Ave.. St. Petersburg 

Computerland of Boca Raton 
500 E Spanish River Blvd. 
Boca Raton 

Computerland of Ft Lauderdale 
3963 N. Federal Hwy.. Ft. Lauderdale 

Computerland of Jacksonville 
2777-6 University Blvd. W.. 
Jacksonville 

Computer Shack 

3336 Beach Blvd.. Jacksonville 

Curtis Waters Enterprises 
236 Talbot Ave.. Melbourne 

Heath Kit Electronic 

4705 W. 16th Ave. Center. Hialeah 

Sound Ideas 

2201-C N W. 13th, Gainesville 

Ukatan Computer Store 
Airport Rd., Destin 

Georgia 

Atlanta Computer Mart 
Atlanta 

Computerland of Atlanta 
2423 Cobb Parkway. Smyrna 

Hawaii 

Computerland of Hawaii 

567 N. Federal Hwy . Honolulu 

Radio Shack Assoc. Store 
1712 S. King St.. Honolulu 

Idaho 

Electronic Specialists 
8411 Fairview Ave.. Boise 

Illinois 

Bloomington Normal Computer 

Works 

124 E. Beaufort. Normal 

Computer Station 

3659 Nameoki Rd.. Granite City 

Midwest Micro Computers. Inc. 
708 S Main St.. Lombard 

Indiana 

Computer Center of South Bend 
51591 US 31 North, South Bend 

Iowa 

Cyberia, Inc 

2330 Lincoln Way. Ames 

Memory Bank 

4128 Brady St.. Davenport 

Kansas 

Central Kansas Computers 
6 S. Broadway. Herington 

Louisiana 

Computer Shoppe Inc. 

3225 Danny Park. Suite 222. Metaine 

Maine 

Radio Shack 

315 Main Mall Rd.. So. Portland 

Maryland 

Computers, Etc. 

13 A. Allegheny Ave.. Towson 

Jack Fives Electronics 

4608 Debilen Circle. Pikesville 

The Comm Center 

9624 Ft Meade Rd.. Laurel 

Massachusetts 

ComputerCity 

5 Dexter Row, Charlestown 

Computer Packages Unlimited 
244 W. Boylston St.. West Boylston 

Lighthouse Computer Software 

14 Fall River Ave.. Rehobath 

New England Electronics Co. 
679 Highland Ave . Needham 

The Computer Store 

120 Cambridge St., Burlington 

Tufts Radio & Electronics 
206 Mystic Ave , Medford 



Michigan 

Computer Center 

28251 Ford Rd., Garden City 

Computer Connections 

38437 Grand River, Farmington Hills 

Computerland of Grand Rapids 
2927 28th St. S.E.. Kentwood 

Computerland of Rochester 
301 S Livernois. Rochester 

Computerland of Southfield 

29673 Northwestern Hwy., Southfield 

Computer Mart 

560 W 14 Mile Rd . Clawson 

Golden Anvil 

259 Broadway. South Haven 

Hobby House 

1035 W. Territorial Rd . Battle Creek 

Minnesota 

Zim Computers 

5717 Xerxes Ave . N. Brooklin Center 

Mississippi 

Dyer's, Inc. 

200 E. Main St., West Point 

Missouri 

Computervan, Inc. 

51 Florissant Oaks Shopping Center. 

Florissant 

Consolidated Software 

16501 Greenwald Court, Belton 

Montana 

Intermountain Computer 
529 So. 9th St.. Livingston 

The Computer Store 

1216 16th St. W. #35, Billings 

Nebraska 

Computerland of Omaha 
11031 Elm St.. Omaha 

Midwest Computer Co. Inc. 
8625 I St.. Omaha 

Midwest Computer Co. Inc. 
4442 S. 84th St.. Omaha 

Midwest Computer Co. Inc. 
4403 S 87th St.. Omaha 

Nevada 

Century 23 

4566 Spring Mountain Rd.. Las Vegas 

Home Computers 

1775 Tropicana #2. Las Vegas 

New Hampshire 

ComputerCity 

1525 S. Willow. Manchester 

Computerland of Nashua 
419 Amherst St.. Nashua 

Portsmouth Computer Center 
31 Raynes Ave.. Portsmouth 

New Jersey 

Computer Encounter 
2 Nassau St.. Princeton 

Radio Shack/J&J Electronic 

Mansfield Shopping Ctr 

Rt. 57 Allen Rd., Hackettstown 

The Computer Emporium 

Bldg. 103. Avenues of Commerce 

2428 Route 38. Cherry Hill 

The Bargain Brothers 
Glen Roc Shopping Center 
216 Scotch Road. Trenton 

New Mexico 

South West Computer Center 

121 Wyatt Drive. Suite 7. Las Cruces 

New York 

Aristo Craft 

314 Fifth Ave . NYC 

Automatic Systems Developers 
Industry St.. Poughkeepsie 

Bits & Bytes 

2800 Straight Rd.. Fredonia 

Computer Corner 

200 Hamilton Ave.. White Plains 

Computer Factory 

485 Lexington Ave., NYC 

Computer House, Inc 

721 Atlantic Ave., Rochester 

Computerland 

225 Elmira Rd., Ithaca 



Instant Software- Inc 

Peterborough, N.H. 03458 603-924-7296 



Computerland of Nassau 

79 Westbury Ave., Carle Place 

Computer Shop 
Rte. 28, West Harley 

Comtek Electronics, Inc. 

2666 Coney Island Ave , Brooklyn 

Comtek Electronics. Inc. 
Staten Island Mall 
Store 220A. Staten Island 

Home Computer Center 
671 Monroe Ave., Rochester 

Key Electronics 
Schenectady 

Mr. Computer 

Imp. Plaza. Rte 9. Wappingers Falls 

Softron Systems 

308 Columbia Turnpike. Rensselaer 

The Computer Tree Inc. 
409 Hooper Rd., Endwell 

Upstate Computer Shop 

629 French Rd., Campus Plaza. 

New Hartford 

North Carolina 

Byte Shop of Raleigh 

1213 Hillsborough St.. Raleigh 

Ohio 

Astro Video Electronics 
504 E. Main St., Lancaster 

Cincinnati Computer Store 
4816 Interstate Dr., Cincinnati 

Computerland 

1288 Som Rd.. Mayfield Heights 

Computer Store of Toledo 
18 Hillwyck Dr.. Toledo 

Forbees Microsystems Inc. 
35 N. Broad. Fairborn 

Heath Kit Co 

2500 Morst Rd . Columbus 

Microcomputer Center 
7900 Paragon Rd.. Dayton 

Micro-Mini Computer World 
74 Robinwood, Columbus 

Micro Processor Systems 
Wadsworth 

Modern Communications 

681 Hamilton Cleves Pike. Hamilton 

21st Century Shop 

16 Convention Way. Cincinnati 

Oklahoma 

Vern Street Products 
Radio Shack Dealer 
114 W. Taft St., Sapulpa 

Oregon 

Computerland of Portland 
12020 S.W. Main St.. Tigard 

Computer Pathways Unlimited, Inc. 
2151 Davcor St. S.E., Salem 

Pennsylvania 

Artco Elect. 

302 Wyoming Ave.. Kingston 

Artco Elect. 

Back Mountain Shop. Ctr., 

Shavertown 

Computerland of Harrisburg 
4644 Carlisle Pike. Mechanicsburg 
Erie Computer Co. 
2127 West 8th St.. Erie 

Personal Computer Corp. 

24-26 West Lancaster Ave.. Paoli 

Personal Computer Corp. 

Frazer Mall. Lancaster Ave.. Frazer 

The Computer Workshop of 

Pittsburgh 

4170 William Penn Hwy . Murrysville 

Wes Fasnacht 

8 York Town Ave.. West Chester 

Rhode Island 

Digital World Inc. 

329 Bald Hill Rd , Warwick 

South Carolina 

Seely Communications 
1084 Broad St.. Sumter 

South Dakota 

CB Radio Shack 

21st and Broadway. Yankton 

Tennessee 

Computerlab 

671 S Menden Hall Rd , Memphis 

H & H Electronics Inc 

509 N. Jackson St.. Tullahoma 

Texas 

Computercraft Inc. 
3211 Fondren. Houston 



Computer Port 

926 N Collig, Arlington 

Houston Microcomputer Tech. 
5313 Bissonet, Bell Aire 

Interactive Computers 

7620 Dashwood Rd ., Houston 

K.A. Elect. 

9090 Stemmons Frwy., Dallas 

Pan American Elect. Inc. 
1117 Conway, Mission 

Ram Micro Systems 

6353 Camp Bowie Blvd., Ft Worth 

Reb's Mail Order Electronics 
5439 Doliver, Houston 

Virginia 

Home Computer Center 
2927 Virginia Beach Blvd., 
Virginia Beach 

Southside Radio Comm. 

135 Pickwick Ave., Colonial Heights 

Washington 

American Mercantile Co. Inc. 
2418 1st Ave. S , Seattle 

Personal Computers 
S 104 Freva, Spokane 

Ye Old Computer Shop 

1301 G. Washington, Richland 

West Virginia 

The Computer Corner Inc. 

22 Beechurst Ave., Morgantown 

Wisconsin 

Byte Shop Of Milwaukee 

6019 West Layton Ave., Greenfield 

Wyoming 

Computer Concepts 

617 W. 16th St., Cheyenne 

Puerto Rico 

The Microcomputer Store 
1568 Ave. Jesus T. Pinero 
Caparra Terrace 

Guam 

The Fun Factory 

851 Marine Dr., Tamuming 

Canada 

Computerland of Winnipeg 

715 Portage Ave., Winnipeg, Man. 

Compumart 

411 Roosevelt Ave., Ottawa, Ontario 

Computer Mart. Ltd. 
1055 Yonge St., Suite 208 
Toronto. Ontario 

Galactia Computers 

103rd Ave., Edmonton, Alberta 

Micromatic Systems Inc. 

101 8136 Park Rd., Richmond. B.C. 

Micron Distributing 

409 Queen St., W. Toronto. Ont. 

Micro Shack of W. Canada 
333 Park Street. Regina. Sask. 

Orthon Holdings Ltd. 
12411 Stony Plain Road 
Edmonton, Alberta 

Total Computer Systems 
Ajax. Ontario 

England 

Tamays & Farr Ltd. 
4 Morgan St.. London 

France 

Sideg 

45 Rue de la Chapelle. Paris 

Sivea s.a. 

20, Rue de Leningrad. Paris 

Italy 

HOMIC s.r.l 

Piazza De Angeli 1. Milano 

West Germany 

Electronic Hobby Shop 
Kaiserstr. 20, Bonn 

MicroShop Bodensee 
Markstr 3, 7778 Markdorf 

Australia 

Computerware 

62 Paisley St., Footscray VIC 

Deforest Software 
36 Glen Tower Drive 
Glen Waverly, VIC 

Softronics Micro Systems 
Lindfield 

Sure-Load Software 

P.O Box 26. Weston. ACT. 

South Africa 

Eddie Talberg 

P.O. Box 745, Johannesburg 



U* Reader Service index— page 241 



Microcomputing February 1980 105 



Improved Video DMA 

for the CT-64 



This follow-up to an Oct. 79 article by the same author adds circuitry for 64 x 64 graphics. 



Dewey Hoi ten 
Dept. of Chemistry 
Washington State University 
Pullman WA 99164 



In a previous article ("Video 
DMA Interface for SWTP 
Systems, "p. 88, Microcom- 
puting, October 1979), my 
coauthor, Jerry Boehme, and I 
described the circuitry 
necessary for giving the com- 
puter direct access to the 
display memory for an SWTP 
6800 computer and CT-64 ter- 
minal. This gives a memory- 
mapped display, with each char- 
acter position on the screen cor- 
responding to a specific loca- 
tion in display (computer) mem- 
ory. Producing simple or exotic 
displays is extremely rapid with 
operation at the computer pro- 
gram execution rate rather than 
at the slow computer/terminal 
external transfer rate. We pre- 
sented some simple programs 
in order to demonstrate this 
capability. 

Limited raster scan graphics 
result directly from the design, 
since 16 x 64 resolution can be 
achieved by programming a 



blank (space) or mark (high- 
lighted space) at each character 
position. Bit 7 determines 
whether a normal or highlighted 
space (or any character) is dis- 
played (we number the eight 

data bits 0-7). While the 64 posi- 
tion resolution in the horizontal 
direction is OK, the 16 position 
per column resolution in the ver- 
tical direction is not very 
satisfactory. The simple cir- 
cuitry described in this article in- 
creases the resolution by a fac- 
tor of 4 in the vertical direction. 
Each character position on the 
16 x 64 grid is broken up into 
four smaller pieces vertically. 

You will see that for any dis- 
play, this gives 16 possible com- 
binations for these four resolu- 
tion elements to be on or off, 
depending on the status of the 
four lowest-order bits in the cor- 
responding 8-bit memory word. 
This resolution is more than 
adequate for many applications, 
for example, computer games. 
Bit 7 is now used to determine 
whether a specific location is for 
a graphic or alphanumeric char- 
acter. 

This inherent mixed graphic- 
alphanumeric mode is useful for 



plots with labeled axes, score- 
keeping or counting in computer 
games. We present a driver and 
demonstration program, leaving 
the development of software for 
more specific applications to 
the reader. 

No additional memory is re- 
quired. Memory that was pur- 
chased with the terminal was 
used. In fact, you can use the 
following simple circuit to in- 
crease graphics resolution and 
experiment with limited raster 
scan graphics without using 
the video DMA circuitry. How- 
ever, a substantial amount of 
control and speed in creating 
displays will be lost. Before we 
describe the circuitry involved 
in the present design, we 
should take a closer look at 
how the CT-64, or practically 
any terminal, will produce the 
video display character. 

The Character Generator 
Display 

Fig. 1 presents a schematic of 
some basic circuitry necessary 
for the generation and shifting 
out of video data to the TV or 
monitor. As shown in Fig. 2, 
each of the 16 x 64 character 



positions comprises an 8 by 13 
matrix of dots. It is the function 
of the character generator and 
associated circuitry to take the 
appropriate 8-bit display mem- 
ory word and convert it into the 
proper combination of blanks (0) 
or lit (1) dots to produce the 
display character. 

As shown in Fig. 2, each 
character position has 13 
horizontal rows to a line and 
also eight vertical columns. The 
terminal has counters to keep 
track of which of the 64 char- 
acters (or 32 in that mode) per 
display line, as well as which of 
the 16 lines, is being displayed. 
These counters maintain syn- 
chrony with the terminal 
horizontal and vertical sync 
pulses as well as other display 
memory address circuitry. As 
the memory is being addressed, 
the appropriate 7-bit word (bits 
to 6) is presented to the char- 
acter generator. Bit 7 is directed 
to another circuit for character 
highlighting (or graphics). 

The CT-64 uses the Motorola 
6575L character generator hav- 
ing uppercase, lowercase and 
control characters; 128 in all are 
available. For any screen posi- 



MEMORY 
DISPLAY 



MEMORY 
BIT a 



I 



HIGHLIGHT 
CIRCUITRY 



CHARACTER 

GENERATOR 

6575L 



I OF 13 ROW 
SELECT COUNTER 



OUTPUT 
BIT e 



VIDEO 
OUTPUT 

SHIFT 
REGISTER 

74I66 



CLOCK 



MODULO 8 
DOT" COUNTER 



SERIAL 
OUTPUT TO 
-o VIDEO 
DRIVER 
CIRCUITRY 



Fig. 1. The CT-64 character display circuitry. 



ROW 



COLUMN 

J 


ONE 

CHARACTER 
* OF A 
LINE 




BOX 


■N 




e> 






I 






2 






3 


BIT I 2 3 4567 
DOT PATTERN 


GRAPHICS 
RESOLUTION 





Fig. 2. Dot pattern definitions for one screen position and the posi- 
tion breakdown for increased graphics resolution. 



106 Microcomputing February 1980 



tion, the 7-bit input memory 
word selects one of these char- 
acters for output. For each of 
the 13 rows in a character posi- 
tion, the four character-gen- 
erator row-select inputs cause 
the proper 7-bit word to be out- 
put by the character generator 
to the video output shift 
register. Actually, only a 7 x 9 
matrix is used for any one char- 
acter. The four bottom rows of a 
position are either blanked for 
spacing between character 
lines or used for descending, 
lowercase letters. A blank ver- 
tical column between char- 
acters is achieved by grounding 
the bit-7 input to the shift 
register; this bit is shifted out 
last as shown in Fig. 2. A 
modulo 8 dot counter syn- 
chronized with the horizontal 
sync pulses causes the eight 
bits-per-character row to be 
shifted out to the video output 
driver circuitry. 

As the terminal and TV sweep 
line by line, new 7-bit words are 
presented to the shift register by 
the character generator and 
shifted out. Note that for each 
character position the same 
7-bit memory word is presented 
to the character generator in- 
puts for 13 row scans necessary 
to generate the character line. 
The 1 of 13 decoding is taken 
care of by the character gen- 
erator row select inputs, fed by 
one of the counters mentioned 
above. 

Examples of possible modifi- 
cations to this circuitry will aid 
in understanding its operation. 
Refer to Fig. 1 and the dot pat- 
terns of Fig. 2. Assume that the 
character generator has been 
removed, so that we can have 
access to the shift register in- 
puts. Suppose we lift the shift 
register bit-7 input from ground, 
allowing this input to go high. 
This would result in vertical 
white lines on the screen at the 
bit-7 positions of all character 
positions. Similarly, white or 
dark (blank) vertical lines or 
groups of lines result from hold- 
ing other shift register inputs 
high or low. This operation pre- 
sents possibilities for in- 
creasing graphics resolution in 
the horizontal direction. 

Consider now using the 
13-row-per-character resolution 



ICI 
74I25 



2 5 9 12 



IS 



I OF 4 

ROW SELECT 

FIG 4 



FIG. 4 



MEMORY 
BIT 



2I 



lb 



16 



12 



22 



23*24 



ON BOARD 

CONNECTOR 

PLUG 



I2 



16 



15 



♦ 5 



13 



17 



18 



19 



20 



12 



GND 



CHARACTER 

GENERATOR 

IC9 

6575L 



2I 



22 



23 



20 



IC6 
8093 



I9 



18 



17 



24 



O- 



MEMORY 
BIT 7 



P* 



♦ f t " 



FIG 4 



ALPHANUMERICS « 



1. 15 



14 



12 



10 



1.4 



IC7 
8097 



13 



13 



IC5 
8097 



1,15 



2_ 

4 
6 
10 

I2_ 

14 



10.13 



IC6 



-© 



GRAPHICS « 



Fig. 3. Graphics board schematic. Connections are made to the main terminal board at the old char- 
acter generator socket via the 24-pin wire-wrap socket on the graphics board. The four row-select lines 
are derived from Fig. 4, while connections x and v are obtained from the main terminal board according 
to Fig. 5. 



in the vertical direction. What 
would happen if we tied all of 
the shift register inputs 
together? Referring to Fig. 2, 
you can see that this would 
cause the status of the eight 
dots per horizontal row to be the 
same for any particular row. You 
can envisage circuitry using the 
eight memory word bits along 
with the four row-select lines to 
determine the status of this 
common shift register input per 
13 rows, thus increasing resolu- 
tion in the vertical direction. 

Since we have eight bits per 
word, we have the possibility of 
increasing the resolution in the 
vertical direction by a factor of 
8, the resolution elements being 
one or two rows of eight horizon- 
tal dots (rectangles). This ar- 
rangement requires no addi- 
tional memory. 

It turns out that bits 4-6 are 
further decoded by the CT-64 for 
selection of uppercase, lower- 
case and control character 
printing, making it less conve- 
nient to use these bits for in- 
creased graphics resolution 
without additional modifica- 
tions of the terminal. We there- 
fore chose to use the four 
lowest-order bits per character 
word to determine the status of 
the common shift register input 



per 13 character rows in the 
graphic mode. As we will see 
shortly, bit 7 is used to choose 
between graphics circuitry or 
character generator feeding the 
video output shift register. 

The Graphics Circuitry 

Figs. 3 and 4 present the 
graphics circuitry, based on the 
concepts just presented. The 
entire circuit is mounted on a 
small board, approximately 8 
cm x 8 cm, which is plugged in- 
to the CT-64 at the character 
generator location via a 24-pin 
wire-wrap socket (long leads) 
mounted on the graphics board. 
The leads from this socket com- 
prise the male half (plug) of the 
connector. 

The character generator (ter- 
minal IC22) is first removed from 
the main terminal board and re- 
placed with another 24-pin 
socket, used as the female con- 
nector half. We use a wire-wrap 
socket for this purpose also, 
since they are more sturdy than 
low-profile sockets and stand 
up better to insertion and 
removal of the graphics board 
connector during debugging. 

The outputs of noninverting 
Tri-state buffers ICs 5-7 make 
the eight video shift register in- 
puts, via the connector plug, lie 



I OF 4 ROW SELECT (FIG. 3) 

A 



7404 /2 




♦ 5 



IC9 a CONNECTOR 

PINS 21-24 ON 

FIG 3 



NC 



Fig. 4. Graphics board row- 
select circuitry. The extra con- 
nections refer to Fig. 3. 

along a common bus, which can 
be accessed by either the 
character generator or the 
graphics circuitry outputs. Ac- 
cess of only one of these 
devices is ensured by the low 
(alphanumeric) or high (graphic) 
state of memory word bit 7 and 
the complementary status of in- 
verter IC2 (pin 10). These com- 
plementary signals are routed to 
the Tri-state enable inputs of 
ICs 5-7. The 7-bit memory words 
are continually presented to 
the graphics circuitry and char- 
acter generator, so the output 
to the video shift register for 
any screen position will be 



Microcomputing February 1980 107 



<& 




9 




^ 



Fig. 5. Main terminal board mod- 
ifications showing jumper con- 
nections to the graphics board 
points x and y as per Fig. 3. The 
IC numbers refer to the CT-64 
main terminal board. 



determined by bit 7 and the Tri- 
state devices of Fig. 3. The 
graphics words are generated 
as follows. 

The four lowest-order bits of 
the corresponding memory 
words are presented to the in- 
puts of Tri-state buffer IC1. The 
outputs of IC1 are wire-ORed 
and tied to the inputs of IC5 and 
1/2 IC6. The eight outputs of 
these devices are presented, via 
the connector plug, to the video 
output shift register and are 
shifted out to give white or blank 
8-dot rows in the graphic mode 
(memory word bit 7 high). Which 
rows are white is determined by 
the four lowest-order memory 
bits and the new 1 of 4 row- 
select lines. This row-select se- 
quence is generated by the cir- 
cuit of Fig. 4. 

The BCD (1 of 13) row-select 
lines normally connected to the 
character generator are routed 



IC Type 


+ 5(a) 


GND(b) 


1 DM8093(c) 


1 4 


7 


2 7404 


1 4 


7 


3 7410 


1 4 


7 


4 7420 


1 4 


7 


5 DM8097(d) 


1 6 


8 


6 DM8093 


1 4 


7,12 


7 DM8097 


1 6 


8 


8 74154 


24 


12,18,19 


9 6575L 


2 


13 


(a) Derived from 


connector 


pin 2 


(b) Derived from connector 


pin 13. 


(c) Equivalent to 74125. 




(d) Equivalent to 74367. 




Table 1. Power supply con- 


nections. 







also to the BCD inputs of 1 of 16 
data selector IC8. This, in con- 
junction with 3-input NAND and 
4-input NAND gates IC3 and 4 
and inverters IC2, converts the 1 
of 13 to a 1 of 4 row-select cir- 
cuit. Only one output of IC8 at a 
time is low. 

When you consider the truth 
table for ICs 2 to 4, you find that 
only one output of the four in- 
verters of IC2 at a time will be 
low. This causes only one Tri- 
state buffer of IC1 to be ac- 
tivated at a time, thus passing 
the status of the appropriate 
memory bit to the shift register 
inputs in the graphic mode. 
Thus, bit determines the 
status of the first three 8-dot 
rows, bit 1 for rows 3 to 5, bit 2 
for rows 6 to 8 and bit 3 for rows 
9 to 12. The effect is to break 
each character position into 
three 3-row by 8-dot rectangles 
and one 4-row by 8-dot rect- 
angle. Of course, the 8-dot direc- 
tion is the horizontal. 

Fig. 2 shows the result for any 
screen position. Since four 
memory bits are used, this gives 
sixteen possible combinations 
of blank or white rectangles per 
screen position in the graphic 
mode. For instance, ASCII code 
A1 (i.e., ASCII 21 with bit 7 = 1) 
in a particular display memory 
location yields a white rectangle 
comprising the upper three rows 
of the corresponding screen 
position. An A8 would cause a 
rectangle made up of the lowest 
four rows to be lit, with AF giving 
an entire 1 3-row white position. 
Examination of the ASCII to hex 
conversion table shows that 
several different codes can be 
used to give the same result. 
Table 1 gives the power con- 
nections for the circuitry of Figs. 
3 and 4. 

Only two small modifications 
to the main terminal board are 
necessary. Refer to Figs. 3 and 5 
points (X) and (Y). Pin 14 of ter- 
minal board IC23 must be re- 
moved from ground and jump- 
ered to graphics board point (X) 
connections. This is the bit-7 in- 
put of the serial shift register. 
The second modification in- 
volves cutting the foil going to 
terminal IC31A, pin 2. Examina- 
tion of the CT-64 board layout 
shows a convenient place on the 
top of the main terminal board. 



Pin 2 of IC31 A should be ground- 
ed. The former input should be 
jumpered to graphics board 
point (Y) connections. This is the 
bit-7 memory data line used to 
determine alphanumeric or 
graphic modes. 

A point about this particular 
graphics circuit should be men- 
tioned. Originally, two 74157 
quad 1 of 2 data selectors were 
used in place of Tri-state buffers 
ICs 5-7 to select between graph- 
ic or alphanumeric outputs. But 
this resulted in distorted, poorly 
resolved alphanumerics. This 
was not a problem with the Tri- 
state devices. 

Examination of the CT-64 
documentation and schematics 
shows that a switch can be at- 
tached to the bit-7 input to the 
terminal serial interface on the 
keyboard side of the UART. If bit 
7 is set high ( + 5 V) with the 
switch, then typing on the 
keyboard results in the printing 
of the corresponding graphic 
characters, as defined by the 
ASCII codes output by the key- 
board encoder. Similarly, 
switching bit 7 to ground gives 
normal alphanumeric charac- 
ters on keyboard entry. 

In either case, computer-gen- 
erated memory words will be 
alphanumeric or graphic de- 
pending on the status of bit 7 of 
the computer memory word. 
Thus, graphics displays can be 
obtained using the keyboard- 
generated cursor movements 
and graphic character entry at 
the desired screen locations. 



This is helpful in getting a feel 
for the operation of the circuitry. 
Furthermore, if the video DMA 
circuitry has been incorporated 
(see " A Video DMA Interface"), 
standard graphic screens gen- 
erated in this way can be saved 
rapidly on tape or disk by simply 
dumping the contents of display 
memory onto the mass storage 
medium with standard system 
software. 

Software 

Listing 1 presents a BASIC 
program that can be used for 
turning on or off any one of the 
64 x 64 resolution elements 
without affecting the status of 
other screen positions. The ac- 
tual display driver subroutine 
begins at line 1000 and uses 
concepts presented by David 
Koh ("Raster Scan Graphics for 
the 6800," Kilobaud, December 
1978 p. 56). The subroutine re- 
quires input of the variables H 
and V for the horizontal and ver- 
tical coordinates, as well as the 
variable Z, with Z = 1 for a mark 
and Z = for a blank position. 
The upper left-hand screen posi- 
tion corresponds to (H,V) = 
(0,0). 

With our version of BASIC, 
the program is a bit slow due to 
the byte unpack and pack 
routines and the POKE com- 
mand requiring decimal to hexa- 
decimal conversion. Machine- 
language programs would be 
much faster, but the computa- 
tion power of BASIC would not 
be readily available. 



Listing 1. 

8881 REM GRAPHICS DRIVER 

8885 PRINT CHR$<01),CHR*<01> 

8858 Z = l 

8855 REM DEMONSTRATION 

8868 FOR V=8 TO 63 

8878 H=V: GOSUB 1018 

8888 V=63-V: GOSUB 1818 

8885 V=63-V 

8896 rCXT V 

0180 END 

1880 REM GRAPHICS DRIVER 

1002 REM NEEDS (V)ERT, (H)0R2 COORDS 

1003 REM AND Z=l (MflRK) OR 2=0 (BLANK) 
1005 REM (L)INE=0 TO 15 

1806 REM (R)OW=0 TO 3 PER LINE 
1018 L1=V74:L=INT(L1):R=4*<L1-L) 
1820 M=24576 +64*L+VREM PAGE 1 LOCN 
1038 C=PEEK(«):REM CD0NTENTS 
1048 REM UNPACK BYTE 
1058 B?=8:IF 0127 THEN B?=i. C=C-123 
1668 B6=6: IF C>63 THEN B6=l:C=C-64 



108 Microcomputing February 1980 



1070 
1638 
1098 
1186 
1118 
1128 
1160 
1178 
1138 
1198 
1288 
1218 
1228 
1238 
1248 
1258 
1268 
1278 
1288 
1298 
1388 
1310 
1328 



B5=6 
04*0 
B3«6 

62=9 
61=8 
B8=6 



IF C>31 THEN B5=l:C=C-32 
IF C>15 THEN B4=1:C=C-16 



IF D? THEN B3=i:C=C-8 
IF C>3 THEN B2=l:C=C-4 
IF CM THEN Bl=l:C=C+2 
IF C>0 THEN B8=8 

ON R+i GOTO 118a 1198, 1280, 1210 

REM REBUILD 



B8=Z 
B1=Z 
B2=Z 

D*>— "? 

08 

IF B£i=l 
IF Bl=l 
IF B2=l 
IF B3=l 
IF B4=l 
IF B5=l 
IF B6=l 
IF B7=l 

pokec n, 

RETURN 



GOTO 1226 
GOTO 1228 
GOTO 1220 



THEN C=Oi 
THEN C=02 
THEN C=04 
THEN C=03 
THO^ C=C=16 
THB^ C=Cf32 
THEN C=t>64 
THEN C=C+128 
C):REM REPLHCE 



Line 5 clears the page 
through a control character 
function, with the CT-64 CTRLA 
pad connected to the I NIT pad. 
The subroutine program begin- 
ning at line 50 draws lines of 
slope 1 and - 1 to demonstrate 
the operation of the circuitry. 

Summary 

We have presented extremely 
simple circuitry for increasing 
the graphics resolution of your 
terminal to 64 x 64. This is more 
than adequate for many applica- 
tions and offers a simple and 
inexpensive means of experi- 
menting with raster scan 
graphics and mixed graphic- 
alphanumeric displays. No new 



memory need be purchased, 
and only two jumper connec- 
tions to the main terminal board 
are required. 

The entire circuit fits on a 
small board that plugs into the 
former character generator 
location. If future needs require 
greater resolution, then this cir- 
cuit is readily unplugged or left 
intact with no alteration of the 
operation of your terminal. 
Meanwhile, this offers a chance 
to experiment with and make 
use of raster scan graphics of 
reasonable resolution without 
necessitating major time-con- 
suming modifications to the ter- 
minal or purchase of a lot of 
components. ■ 



f FR i E % 



SORCERER 



Z80 Processor 
Full size ASCII Keyboard 
Calculator Style Numeric Pad 
8K RAM up to 48K RAM 
Resident 4K Monitor ROM 
Interchangeable ROM Pacs 



by Exidy 



Dual Cassette I 
Serial and Parallel I 
30 x 64 Character Display 
240 x 512 Graphics Resolution 
64 User Defineable Characters 
S 100 Compatable 



^ e List Price 
$ 995. 



with 8K RAM 
Receive FREE Cassette Recorder Value $67 

with 16K RAM 1145. 

Receive FREE 12" Video Monitor Value $149 

with 32K RAM 1295. 

Receive FREE Monitor and Recorder Value $216 

with 48 K RAM 1445. 

Receive FREE Monitor and Recorder 

PLUS Extended BASIC Value $265 

WE PAY ALL SHIPPING AND HANDLING CHARGES 
Shipment stock to 30 days Connecticut residents please add 7 sales tax. 

jvjjcao djscouw gfflYJO 

198 General Lyon Rd M Eastford, CT 06242 

203-974-1214 ^M116 




TRS-80 



SOFTWARE 



■>< 



Send for Free Software Info Packet. 
• D-Disk System Only • TO Tape or Disk Laval II • 

Compress -IT.? $24.95 

2 Proqramsi Remove spaces 1 R£M statements. Compresses 
program into max multiple statement lines. Reduce RAM 
needs up to 50%. 

Simplify -IT.? $24.95 

3 Programs i Lists in single statement lines. Searches & 
Finds requested text or key commands. Lists all variables 
used in program. 

TEXT. $49.95 

A Combination Text Processor 4 ELECTRIC FILING CABINET. 
WRITE EDIT FILE Reports, Information filesi auto Directory, 
DISK store with auto Backup options. File searches by 
Title or Content on 1 to 4 Disk Drives. Formats & Prints. 
A SELF INDEXING QUERY SYSTEM and word Processor. 

List'n File: Names & Things ?. $34.95 

Create and maintain NAME (customer) Files. Sort using 
any information category. Print lists or labels. 

All programs supplied on TAPE or DATA DISKETTE 
Indicate your preference and RAM size. 



V/SA 



Bluebird's Inc. 

144 1 Greenview Ave. 
East Lansing. Mi. 48823 

Michigan residents add &% sales tax. 



masie' charge 




TRS-80 



SOFTWARE 



'« 



Send for Free Software Info Packet. 
• D-Dlsk System Only • TO Tape or Disk Level II • 

Math/ Stat Pac. T . D . $39.95 

7 Programsi Linear, multiple, polynomial, geometrical, 
exponential regression analyses. Simultaneous equations. 
Bargraph with auto axis. Plot any polynomial over any 
range (Reduce or Enlarge) with auto axis. 

DISK. $14.95 

The MOW TO rudements of your Disk System. Interactive 
with lots of dynamic examples. Helps a beginner use 
the disk system. 

Hangman/ Hangfile. T . D $19.95 

2 Programst Educational. Create your own dynamic 
word files. User option multiple clues & subjects 
with graphics. Really FUN. 

Secret Words -Game!?. $17.95 

3 Programsi Educational 4 Fun 4 Mind Boggling. jU ess 
a 2,3,4,5 letter word. Review 4 status options. 3 
Uersionsi Easiest gives lots of clues. Hardest no 
clues. 

All programs supplied on TAPE or DATA DISKETTE 
Indicate your preference and RAM size. 



V/SA 



Bluebird's Inc. 



i 



masiei charge 



144 1 Greenview Ave. ^»*P 
East Lansing. Mi. 48823 ^ 

Michigan residents add 4jt sales tax. 



B50 



REAL GRAPHICS FOR PET 




SHOWN WITH: 
K-1007-1 INTERFACE 
K-1008-P VISIBLE MEMORY 
K1005-P 5 SLOT CARD FILE 
K-1008-3C DRIVER SOFTWARE 



$99.00 

$243.00 

$80.00 

$20.00 



CALL OR WRITE FOR OUR FULL LINE CATALOG OF PET 
EXPANSION PRODUCTS. 



THE FLEXIBILITY YOU HAVE DREAMED ABOUT IS NOW AVAILABLE! 

320 WIDE X 200 HIGH RESOLUTION 

EACH DOT INDIVIDUALLY ADDRESSABLE 

SOFTWARE SUPPORT - LEVEL 1 GIVES GRAPHICS & TEXT CONTROL AT MACHINE 

LANGUAGE SPEED BUT ACCESSABLE FROM BASIC BY G0SUB AND VARIABLE 

STATEMENTS. 

DUAL PORT 8K BYTE MEMORY ON BOARD ALLOWS FULL USE OF MEMORY FOR 

OTHER TASKS (SEE YOUR PROGRAMS IN THEIR DIGITAL FORM IF YOU LIKE!) 

DOUBLES THE MEMORY SIZE OF AN 8K PET 

COMPLETELY TRANSPARENT SCREEN REFRESH - NO SNOW OR BLINKING EVER - 

THE PROPER WAY TO DO IT! 

MICRO TECHNOLOGY UNLIMITED 

841 GALAXY WAY 

P0 BOX 4596 

MANCHESTER, NH 03108 

(603) 627-1464 »^M44 



%S Reader Service index— page 241 



Microcomputing February 1980 109 




on computers, peripherals, software and other Radio Shack® products. 

Offered Exclusively By 

Pan American . Radio /hack 

bleCtrOniCS, InC. Authorized Sales Center 

1117 CONWAY MISSION JEXAS 78572 



ViSA* 



Toll Free 800/531-7466 

In Texas 512/581-2765 

NO TAXES on out-of-state shipments. 
FREE delivery available on minimum orders. 
WARRANTIES honored by Radio Shack® . 



^R34 





ELECTRONIC CASH DRAWERS W/INTERFACE 
for dapple computer or Comodore Pet 

by Computer Forum 

• 5 Models to choose from 
^^^^^ • Not a kit - just plug into 110V 
j 1 outlet & plug intfe. onto 
^^^^m computer. 

— • Software controllable 

• Full instructions 

• Interface kit separate $50.00 

TERMS. Prepaid, we pay shipping 
and handling in cont. U.S.A. 

Check: Allow 2 weeks extra for 

personal checks. 
Visa-MC : Shipped immediately. 
COD. UPS/Truck freight collect. 
Calif. Residents add 6% sales tax. 

8K Pet as shown - $749 95 r^ 

without drawer • Dealer inquiries invited. 

* MODEL CF2 Drawer w/ interface $139.95. Drawer only $ 99.95 

All steel, brown baked enamel finish w/ drawer key-lock. Removable plastic 
money tray, 4 coin - 3 bill compartment. 

Size: 12.6" Wx 16.3" L x 3.9" H. 

* MODEL CF3 Drawer w/ interface $154.95. Drawer only $114.95 

All steel, brown baked enamel finish with drawer key-lock. Remountable plastic 
money tray, 5 coin - 5 bill compartment, bill adjustable to 4. 

Size: 15.6" Wx 16.6" L x4.4" H. 

* MODEL CF4 Drawer w/ interface $169.95 

All steel, brown baked enamel finish, w/drawer key-lock and drawer release 
key lock. Removable plastic money tray, 5 bill compartment, bill adjustable to 4. 
Size: 15.6" Wx 19.7" L x4.4" H. 

* MODEL CF5 Drawer w/ interface $169.95. Drawer only $129.95 

All steel, brown baked enamel finish w/drawer key-lock and drawer release 
key-lock. Removable plastic money tray, 5 coin - 5 bill compartment, bill 
adjustable to 4. 

Size: 16.5" W x 17.7" L x 4.4" H. 

* MODEL CF6 Drawer w/ interface $199.95. Drawer only $159.95 

All steel, brown baked enamel finish, with drawer release key-lock. Removable 
plastic money tray, 5 coin - 5 bill compartment, coin compartments contoured 
for easy change removal. 

Size: 17.3" W x 19.7" L x 4.6" H. ^ 

/CC ohaputer; „. 14052 east Firestone boulevard 

('''., C horum , ,' SANTA FE SPRINGS, CALIFORNIA 90670 
V ' ' ■ T/~ (213) 921-2111 • (714) 739-0711 



<■* 



RECYCLE(D) 
COMPUTERS 

BUY # SELL # SWAP 
Hardware & Software 

NEW PRODUCT ANNOUNCEMENTS 

32 pages «•"•« 

Mailed 1st class every 3 Weeks 
lyr. (18 issues) i$ $3.75 



ON LINE 



^t> 



recycle uv»d computers 



^02 



Babe $eetle,$ubli*f)er £*tatoliafjeb 1975 

24695 Santa Cruz Hwy.» Los Gatos, CA 95030 

THE BEST WAY TO DETERMINE IF ONLINE CAN BE OF VALUE TO YOU IS TO TRY A .... 



GIVE YOUR TRS-80 MICROCOMPUTER 

WHAT IT DESERVES 



All tapes $10.00 each, on cassette. 

C.O.D. orders accepted 

Choose Level I or II. 

A television station in Florida chose our Bioforecast program (catalog # 
CS 1) to use in a special news broadcast during the November 1978 state 
wide political elections Many think ours is the best biorhythm program ever 
written And it loads and executes in less than 4K' 

One customer is using our Orbit programs (catalog # CS 2) to help him in 
the weather satellite work he does tor the Air Force 

Recreation centers, schools, businesses, doctors, and housewives are 
using our Lend Out program Lend Out (catalog # CS 7) keeps track of things 
loaned out to people Its high utility, together with its many features and 
ease of use. have made it a best seller 

And speaking of best sellers 

Our Turkey Buzzard game (catalog # GT-4) has made an even bigger 
splash than we expected It is a game that has everything a detailed 
scenario, character animation, and a general arcade style It's chocked full 
of dangers and comic pitfalls No wonder there are those who say it may be 
the most successful work ever to combine a continually changing plot with 
all TRS-80 graphics capabilities Already it is becoming a classic among 
classics 

All of the above programs will execute in less than 4K RAM 1 You can t get 
those programs from any other company We invented them and only we 
own the rights to them Sure you can buy one of those cheap software 
library' deals, but most of the programs they feature can be found in books 
Books you can check out from your public library for nothing 

So for something truly different for your computer, look to the creative 

software company Send SASE to receive the product list falter. 

* 

TRS-80 is a trademark of tha Radio Shack Division of tha Tandy Corporation with which wa ara not atfiliatad. 



6 Mill st Compuircx O 

PO Box 536 Inman SC 29349 



^C86 



1 



110 Microcomputing February 1980 




I 



ORDER L 



THE 



RECREATIONAL 
PROGRAMMER 



\ TODAY! 

tm 



*you get 100% QUALITY SOFTWARE 

J^YOU get EXCITING PROGRAMS world-wide ! 

Jft YOU get NEW RELEASES bimonthly ! 

7t YOUR check, VISA or MASTERCHARGE is welcome ! 



SPECIAL ! Subscribe for TWO years 
and receive any TWO of the issues shown 
for only TWO DOLLARS 



I 



THE RECREATIONAL PROGRAMMER is a 
32-page bimonthly journal. It con- 
tains articles, puzzles, and many 
programs in BASIC. 



\L 



THE 

RECREATIONAL 
PROGRAMMER 



2 A 

tm 



P.O. Box 2571 
Kalamazoo Ml 49003 









FOREIGN 






U.S. 


AIRMAIL 


ONE YEAR 




$12 


$2^+ 


TWO YEARS 




$2^+ 


$<+8 


WITH SPECIAL 




$26 


$50 


CHECK CHOICE 


OF 


ISSUES: 




J I JMAY-JUN 


I JSEP-OCT 


1 1 NOV- DEC 



ENTER MY SUBSCRIPTION FOR 
PLEASE SEND TO 



YEARS AT 



DOLLARS . 



I 




1 



LZI MY CHECK OR MONEY ORDER IS ENCLOSED. 

□BILL MY VISA MASTERCHARGE CARD. (PLEASE CIRCLE ONE) 

MY CARDNUMBER IS 

EXPIRATION DATE — 



L_ 



_l 



MAIL THIS ORDER or CALL OUR 24- HR HOTLINE (616)344-9323 



v* Reader Service index— page 241 



Microcomputing February 1980 111 



Development of a 
Text-Handling Program: 
A Learning Experience 



Working with words can be a mind-expanding experience. 



Paul W. Sparks 
13 Lincoln Drive 
Gales Ferry CT 06335 



Sometime after I had inter- 
faced an SWTP PR-40 to my 
PET's user port, I decided that it 
would be fun to try to develop a 
text-handler program. I had 
grown tired of running a short 
program to type "This is a test" 
on my printer, and since I did 
not know too much about devel- 
oping such a program, it 
seemed to be a worthwhile 
learning experience. 



z$ 


= "CH, [20]CD" 


zo$ 


= "[40]sp" 


Zl$ 


= "STORING" 


Z2$ 


= "WHAT PAGE DO YOU WANT?" 


Z3$ 


= "CHOICE? BYTES LEFT" 


Z4$ 


= "ANOTHER PAGE?" 


Z5$ 


= "INPUT COMPLETE" 


Z6$ 


= "LOWER CASE OR GRAPHICS" 




GET 


4000 


REM*GET* 


4010 


GET Q$:IF Q$="" THEN 4010 


4020 


RETURN 




CURSOR SYMBOLS 


CH 


- CURSOR HOME 


CS 


- CLEAR SCREEN 


CL 


- CURSOR LEFT 


CR 


- CURSOR RIGHT 


CU 


- CURSOR UP 


CD 


- CURSOR DOWN 


SP 


- SPACE 


REV 


- REVERSE PRINTING ON 


REV- 


OFF - REVERSE PRINTING OFF 




Table 1. 



I should point out that the 
program presented here does 
not purport to be a highly pol- 
ished $50 program, although it 
is quite workable. The purpose 
is to present ideas and prob- 
lems with their possible solu- 
tions and to develop an interest 
in the reader to perhaps im- 
prove upon it for his own uses. 

The first step is to establish 
the initial goals of the project, 
that is, what do you want to ac- 
complish? In this case, my ini- 
tial goals were to write to the 
screen, store the text in mem- 
ory, print the text to the screen 
from the memory and print the 
text on the printer from the 
memory. 

Writing 

The first goal seemed direct. 
Using the GET and PRINT in- 
structions, you just clear the 
screen and type away. After 
working for a short time with- 
out a cursor (there is none with 
GET), I realized that guessing 
where the next PRINT position 



PRINT Q$ 
GOSUB 1000 
1000 PRINT "REV/SP/REV-OFF"; 
FOR l = 1TO200:NEXTI 
PRINT"CUSP/CL"; 
FORI = 1TO200:NEXT I 
RETURN 

Example 1. 



would be was for the birds. 
However, I easily solved this 
with a simple GOSUB routine 
(see Example 1). And it worked 
fine . . . until I noticed a spell- 
ing error. 

When I moved the cursor up 
the screen to fix it, everything in 
the cursor's path was erased! I 
then spent several hours trying 
to figure out how to PEEK 
ahead, store the then incum- 
bent character, walk over it and 
replace the character in its orig- 
inal position. Considering that 
one could be going in any of 
four directions, this became a 
time-consuming algorithm (ex- 
ecution time) and an impracti- 
cal solution to my problem. 

So it was time to hit the 
books again. I came across a 
short article by Harry J. Saal in 
The Paper, wherein he de- 
scribed a method to turn on the 
cursor by POKEing 584,0. Sure 
enough, this did the trick, and I 



could go walking all over my 
text without wiping it off the 
screen. However, there were 
some new problems associ- 
ated with this fix, which we will 
consider later. 

This program is set up as a 
series of subroutines that the 
reader can pick and choose to 
use in his or her application. I 
have 24K of memory and use all 
sections, plus 20 pages of stor- 
age. A nice version can be put 
in 8K, but it's up to you to deter- 
mine what parts to use and ex- 
pand. Some parts of what I 
have are not of use to me at this 
time. For example, my printer 
does not have lowercase, but I 
use lowercase in the program, 
for, in the future, I hope to have 
a better printer. 

Table 1 lists the string vari- 
ables that are used as instruc- 
tions throughout the program 
and the cursor symbols used in 
the program listings. It also lists 



6000 REM*WRITE* 
6006 GOSUB 6300 
6010 PRINT "CS"; 
6020 Q$="" 
6025 POKE 548,0 
6030 GOSUB 4000 

6034 IF Sl=l THEN GOSUB 4600 

6035 IF Q$="\" THEN PRINT CHR$(13); 
PRINT "\" : GOTO 6095 

6040 PRINT Q$ 
6090 GOTO 6025 
6095 POKE 548,1 
6100 GOTO 6500 

Table 2. 



112 Microcomputing February 1980 



GOSUB 4000, which is the basic 
utility subroutine used to GET a 
character from the keyboard. 
You should also be aware of the 
DIM instructions that are con- 
tained in Table 16, lines 120 to 
124. Failure to insert the appro- 
priate DIM statement for the 
appropriate usage will produce 
a DIM ARRAY ERROR at the 
most inconvenient times. There- 
fore, you may want to start by 
inserting the appropriate DIM 
instructions in your program. 

The section (subroutine) on 
writing on the screen is briefly 
explained as follows (see Table 
2). Line 6006 GOSUBs to a rou- 
tine to ask if lowercase is de- 
sired (Table 3); if so, it sets the 
flag, S1 = 1. Then the screen is 
cleared, and the string variable 
is set to null. The cursor is 
turned on (line 6025), and GO- 
SUB 4000 gets Q$ as long as Q$ 
is not null. Line 6034 identifies 
that lowercase is desired, send- 
ing the program to the subrou- 
tine 4600 (Table 4). Line 6035 
recognizes that the end of the 
page has been reached and ter- 
minates the write sequence. 
Line 6040 prints Q$ on the 
screen, while line 6090 sends 
you back to do it again. Line 
6095 minimizes blanking from 
the cursor. 

Storing Text 

My second goal, to store the 
text in the memory for subse- 
quent retrieval, also presented 
a few challenges. However, ex- 
cept for sorting out the transla- 
tion from PET's memory code 
to ASCII code, all steps are di- 
rect. The basic approach is to 
PEEK each position on the 
screen, convert the character 
to ASCII code and store that 
value in 40-character strings. 
Table 5 lists the basic program. 

The first mistake I committed 
was to make every character a 



string. This might be appropri- 
ate for an EDIT capability, but 
one page of 20 lines (720 char- 
acters) took up seven bytes to 
identify and point to each char- 
acter plus the actual byte that 
described the character. That 
came out to a cool 5760 bytes 
to store one page! The lack of 
space became painfully obvi- 
ous when I tried to run the first 
program with DIM statements 
for ten such pages. There 
weren't 57,600 bytes in my 
memory! 

The next step was to make 
each line into a string (lines 
6530 through 6560), which 
came out to only 860 bytes per 
page. This put the program in 
the ball park. A useful version 
of this program in 8K memory 
can handle five pages nicely. 

Briefly, line 6505 sets the ini- 
tial conditions; line 6510 se- 
lects the desired page (GOSUB 
4900); line 6512 returns to the 
main program if you decide not 
to store the page (enter an "*" 
for the page number); and line 
6515 tells you what page you 
are storing. Lines 6520 and 
6525 set up the page; line 6527 
stops the store if there are more 
than 20 lines; and lines 6530 
through 6550 PEEK the screen 
and convert PET code to ASCII 
code. Line 6560 constructs the 
string, and line 6570 terminates 
the page if a "\" is entered. Line 
6595 prints an "*" to keep you 
from being bored while the stor- 
ing process is going on. Line 
6600 GOSUBs to store the 
strings (GOSUB 4700), and lines 
6675 through 6680 represent 
overkill to keep my act clean. 
Line 6690 repeats the whole 
process over again. Tables 6 
and 7 list the two subroutines. 

The heart of this section lies 
in the translation algorithms, 
lines 6538 through 6548, to con- 
vert the PET code to ASCII code. 



6300 


REM*LOWER CASE?* 








6305 


S1=0 










6308 


PRINT 


Z$+ZO$+ZO$ 








6310 


PRINT 


"CS"; : PRINT 


Z$+Z6$ 




6320 


GOSUB 


4000 








6325 


POKE 59468,12 








6330 


IF Q$= 


="L" THEN POKE 


59468 


,14: 




Sl=l 










6340 


RETURN 












Table 3. 









The first line removes any re- 
verse character because the 
cursor that was manufactured 
back in the write section occa- 
sionally leaves the reverse 
character, and no amount of 
trying to reset the cursor cor- 
rects the problem. Therefore, I 
decided to leave the reversed 
characters on the screen while 
writing, as long as they were de- 
leted when stored. Lines 6540, 
6542, 6544 and 6546 handle the 
actual conversion nicely. This 
is summarized in Table 8. Line 
6548 is a defensive code to cor- 



rect a periodic problem of @ 
being printed for a space. 

Before I proceed to the next 
section, a few comments on the 
subroutines are in order. Sub- 
routine 6300 in Table 3 is 
straightforward, but it should 
be noted that POKEing the stan- 
dard graphic in line 6325 before 
making the selection is efficient 
and tidy. The subroutine to op- 
erate like a typewriter is taken 
right from TIS Workbook #4 
(Table 4). 

The subroutine to select the 
correct page is more subtle 



4600 REM* LOWERCASE/SHIFT* 




4610 B1%=0:S2=ASC(Q$) 




4620 IF S2>64 AND S2<91 THEN Bl%=128 




4630 IF S2>192 AND S2<219 THEN Bl%=-128 




4640 Q$=CHR$(S2+B1%) 




4699 RETURN 




THIS SUBROUTINE IS TAKEN FROM TIS 




WORKBOOK #4 




Table 4. 





6500 


REM* STORE* 


6505 


X=32727:DO$="" :J=0 


6510 


GOSUB 4900 


6512 


IF TO$="*" THEN RETURN 


6515 


PRINT Z$+Z1$ 


6520 


X=X+40 


6525 


J=J+1 


6527 


IF J>20 THEN Tl=l:GOTO 6680 


6530 


FOR I=lTO40 


6535 


A2=PEEK(X+I) 


6538 


IF A2>127 THEN A2=A2-128 


6540 


IF A2<32 THEN D2=A2+64 :GOTO 6548 


6542 


IF A2=>32 AND A2<64 THEN D2=A2 : 




GOTO 6548 


6544 


IF A2=>64 THEN D2=A2+128 -.GOTO 6548 


6548 


IF D2=96 OR D2=224 THEN D2=32 


6550 


D2$=CHR$ (D2) 


6560 


D0$=D0$+D2$ 


6570 


IF D2$="V THEN Tl=l 


6590 


NEXT I 


6595 


PRINT "*" 


6600 


GOSUB 4700 


6675 


D0$=" M 


6680 


IF Tl=l THEN T1=0:J=0:I=0:T0=0:PRINT 




Z$+Z0$+Z0$+Z0$ : RETURN 


6690 


GOTO 6520 




Table 5. 



4900 


REM*WHAT PAGE* 


4905 


PRINT Z$+Z0$+Z0$+Z0$ 


4910 


PRINT Z$+Z2$; 


4915 


PRINT T9$ 


4920 


GOSUB 4000 


4922 


TO$=Q$:Q$="" 


4925 


IF TO$="*" THEN RETURN 


4928 


IF TO$>"9" THEN TO=10:GOTO 4935 


4930 


T0=VAL(T0$) 


4935 


PRINT T0$:FOR I=1T0300 :NEXT I 


4940 


PRINT Z$+Z0$ 


4947 


IF LEN(T9$) 16 THEN T9$=RIGHT$ 




(T9$,16)+T0$:GOTO 4999 


4950 


T9$=T9$+T0$ 


4999 


RETURN 




Table 6. 



Microcomputing February 1980 113 



4700 


REM*PX$ = 


=D0$* 




4701 


IF 


T0>9 


THEN 


GOTO 4400 


4703 


IF 


T0>4 


THEN 


GOTO 4755 


4705 


IF 


T0=0 


THEN 


P0$ (J) =D0$ : RETURN 


4715 


IF 


T0=1 


THEN 


Pl$ (J) =D0$: RETURN 


4725 


IF 


T0=2 


THEN 


P2$ (J) =D0$: RETURN 


4735 


IF 


T0=3 


THEN 


P3$ (J) =D0$: RETURN 


4745 


IF 


T0=4 


THEN 


P4$ (J) =D0$: RETURN 


4755 


IF 


T0=5 


THEN 


P5$ (J) =D0$: RETURN 


4760 


IF 


T0=6 


THEN 


P6 $( J ) =D0 $: RETURN 


4765 


IF 


T0=7 


THEN 


P7$ (J) =D0$: RETURN 


4770 


IF 


T0=8 


THEN 


P8$ ( J) =D0$ : RETURN 


4775 


IF 


T0=9 


THEN 


P9$ (J) =D0$: RETURN 


4799 


RETURN 












Table 7. 



4800 


REM*D0$= 


=PX$* 






4801 


IF 


T0>9 


THEN 


4500 




4803 


IF 


T0>4 


THEN 


4850 




4805 


IF 


T0=0 


THEN 


D0$=P0$(J) 


: RETURN 


4810 


IF 


T0=1 


THEN 


D0$=P1$(J) 


: RETURN 


4820 


IF 


T0=2 


THEN 


D0$=P2$(J) 


: RETURN 


4830 


IF 


T0=3 


THEN 


D0$=P3$(J) 


: RETURN 


4840 


IF 


T0=4 


THEN 


D0$=P4$(J) 


: RETURN 


4850 


IF 


T0=5 


THEN 


D0$=P5$(J) 


: RETURN 


4860 


IF 


T0=6 


THEN 


D0$=P6$(J) 


: RETURN 


4865 


IF 


T0=7 


THEN 


D0$=P7$(J) 


: RETURN 


4870 


IF 


T0=8 


THEN 


D0$=P8$(J) 


: RETURN 


4875 


IF 


T0=9 


THEN 


D0$=P9$(J) 


I RETURN 


4899 


RETURN 














Table 10. 





(Table 6). After the desired page 
is selected by the GET instruc- 
tion, the Q$ value is transferred 
to T0$ and Q$ is set to null. This 
was required because Q$ would 
remain in the system, and when 
the store subroutine was com- 
plete and returned to the main 
program, the first instruction 
asked what you wanted to do 
next. 

If the stored character an- 
swered that question logically, 
then the program would go off 
in that direction without inter- 
ruption. For example, if page C 
was selected for screen as 
soon as it was printed on the 
screen, the screen would clear 
and the cryptic question, "What 
cassette is desired?" would ap- 
pear. It took quite a bit of time 
to figure that one out. 

Line 4928 utilizes PET's con- 
sideration of a letter character 
as having a larger value than 9; 
the statement A>9 is logically 



THIS TABLE SHOWS THE EQUIVALENT 


VALUES BETWEEN 


THE 


PET CODE AND 


ASCII CODE. 






PET CODE 




ASCII 


0-31 




64 - 95 


32 - 63 




32 - 63 


64 - 95 




192 - 223 


96 - 127 




224 - 255 


Table 8. 



true. Using pages A-J (versus 
10-19) allows the use of GET in- 
stead of INPUT, making it much 
easier for the user (one charac- 
ter and no RETURN). Lines 4947 
and 4950 let the user know the 
last several pages selected. 
This is convenient because in 
past versions I had to write 
down pages that I had used or I 
surely would have copied over a 
page that I had saved. 

The subroutine, 4700, that 
actually stores the strings is 
shown for pages 0-9. I also 
used pages A-J, and line 4701 
directs the program to the ap- 
propriate subroutine for those 
pages. That subroutine is iden- 
tical to 4700, except T0$ = A 
through J, and the pages are 
PA$(I) through PJ$(I). Line 4703 
shortens the time to search the 
file. If fewer pages are used in a 
program, then the appropriate 
pages and subroutines should 
be selected. 

Retrieve Text 

The third objective was to 
write from the memory to the 
screen. The listing in Table 9 
does this. Line 7010 GOSUBs to 
select the page (see Table 6), 
and line 7025 sets up to print 20 
lines. Line 7030 GOSUBs to se- 
lect the line (string) to be printed 
(see Table 10). If that line is "\" 
then line 7040 will terminate the 



7000 REM* SCREEN* 

7010 GOSUB 4900 

7020 PRINT"CS"; 

7025 J=J+1: IF J>20 THEN J=0: RETURN 

7030 GOSUB 4800 

7040 IF Q$="\" THEN J=0; RETURN 

7050 PRINT D0$; 

7090 GOTO 7025 

Table 9. 



8000 


REM*PRINTER* 


8010 


POKE 59459,255 


8020 


GOSUB 4900 


8030 


PRINT"CS"; "PRINTING" 


8035 


J=J+1: IF J>20 THEN J=0:GOTO 8150 


8040 


GOSUB 4800 


8045 


PRINT D0$; 


8050 


FOR I=1T040 


8055 


D1$=MID$(D0$,I,1) 


8060 


D1=ASC(D1$) 


8062 


IFD1$="V" THEN J=20: I=40:Dl=13 


8065 


POKE 59457, Dl 


8080 


POKE 59468, PEEK ( 59468 )AND310R192 


8085 


POKE 59468, PEEK (59468) OR224 


8090 


NEXT I 


8095 


GOSUB 8200 


8100 


GOTO 8035 


8150 


POKE 59459,0: POKE 59468,0: POKE 59457,0 


8160 


D1=0:D1$="":J=0 


8190 


RETURN 


8200 


REM*TIMING* 


8210 


T=TI 


8220 


IF TI T+60 THEN RETURN 


8230 


GOTO 8220 




Table 11. 



print. Line 7050 prints the string, 
and line 7090 repeats the pro- 
cess. Note that there are two 
methods to escape this subrou- 
tine: print more than 20 lines or 
find the end of the page delim- 
iter, "\'\ 

Printing Text 

My fourth goal was to print 
the text on a printer. My printer 
is a simple line printer connect- 
ed directly to PET's 8-bit paral- 
lel user port. Therefore, the use 
of the port must be pro- 
grammed. To accomplish this, 
the data direction must be set 
up for output (all lines) by 
POKEing 59459,255. Then the 
character to be printed is 
placed on the data register 
(POKE 59457,D1) and the print- 
er is told that the data is ready 
(POKE 59468,PEEK(59468) AND 
31 OR 192) and then reset (POKE 
59468, PEEK(59468) OR 224). 

Usually after the data is ac- 
cepted, the printer will send a 
signal back. However, it is not 



necessary with the SWTP PR-40 
printer (a one microsecond wait 
is all that is required). When 40 
characters are stored in the 
printer buffer or a RETURN is 
sent, a one-second delay in the 
program is required while the 
printer prints. The listing to 
print is presented in Table 11. 

Therefore, to point out the 
highlights, line 8010 sets up the 
user port for output. Line 8020 
GOSUBs to get the line (string) 
from the memory. Line 8045 
prints the string on the screen, 
while lines 8050 through 8060 
break the string up into one- 
character bytes that the printer 
can handle. Line 8062 prepares 
to jump out of the subroutine if 
the page delimiter is found. 

Lines 8065 through 8085 
send the character to the print- 
er. Line 8090 repeats the pro- 
cess until all characters of the 
string are printed. Line 8100 
gets the next string to be 
printed. L\ne 8150 sets the user 
port back to normal when it is 



114 Microcomputing February 1980 



/T 



TEXAS INSTRUMENT COMP 




TI 99-4 COMPUTER 


$ 995. 


TI 810 BASIC PRINTER 


$1590. 


TI 820 BASIC PRINTER 


$1990. 


TI SOFTWARE 


$SAVE 


CENTRONICS PRINTERS 




779-2 TRAC. FT) 


$ 999. 


779-1 FRIC.FD 


$ 890. 


730-1 NEW PRNTR 


$ 799. 


730-3 


$ 849. 


MICRO PI $390. MICRO SI 


$ 475. 


AN ADEXBP- 18,000 


$ 799. 


COMPRINT 912 PAR 


$ 469. 


KIM-1 W/MANUALS 


$ 155. 


SYM-1 W/MANUALS 


$ 229. 


COMMODORE BUSINESS MACHINES 




PET 2001-8K 


$ 695. 


PET 2001-16N,B 


$ 899. 


PET 2001-32N,B 


$1090. 


PET 2040 DUAL FLOPPY 


$1090. 


PET 2022 TRAC.FD PRINTER 


$ 899. 


PET 2023 FRIC.FD PRINTER 


$ 799. 


FREE SOFTWARE WITH PURCHASE OF 


CBM, 


PET ($75.00 VALUE) 




NORTH STAR COMPUTERS 




BIG $$ SAVINGS 




INTERTEC SUPERBRAIN 




THE HONOR GRADUATE COMPUTER 


$2990. 


DISPLAY TERMINALS 




INTERTUBE II 


$ 775. 


HAZELTINE 1400 


$ 690. 


1410 


$ 785. 


1500 


$ 990. 


1510 


$1149. 



MULTI— BUSINESS COMPUTER SYSTEMS 
28 MARLBOROUGH STREET 



mtsief cnjf^i 



PORTLAND, CONN. 06480 
(203)342-2747 ^M33 




the ULTIMATE in 
CHEAP VIDEO 

BOOK & KIT 
ONLY $42.95 




J? 

Don Lancaster's "Cheap Video "concept allows almost 
unlimited options, including: 

* Scrolling* Full performance cursor. 

* Line/Character formats of 16/32, 24/80, 32/64.... 
or almost anything. 

* Graphics -up to 256 X 256 B&W; 96 X 128 COLOR 

C requires low cost option modules) 

* Works with 6502 , 6800 and other micros. 

SPECIAL OFFER: Buy the Kit (upper case alpha- 
numeric option included) & get the Book at 1/2 price. 

'^ P9 Rill ELECTRONICS. DEPT K . 1020W WILSHIRE BLVD. OKLAHOMA CITY. OK 73116 



I'm Sold, PLEASE RUSH C ) SEND FREE CATALOG 

( ) TVT 6 5/® Kit & Cheap Video Cookbook $42.95 

C ) TVT 6 5/g Kit only (book required for assembly) $39.95 

name: 

address: 

city: 



state: 



zip: 



BKTMNICS. DEPT. 2-1, 1020 WILSHIK BLVD.. OKLAHOMA CITY, OK 73116 



CURSE 

AGONIZE 

PRAY 
DELIBERATE 

CHEER 

WONDER 



the fog as it settles in on the 
Norwegian coast . 

over whether the Bismarck is heading 
west or southwest. 

as the Bismarck ranges in on HMS Hood . 

the risk of using convoy escorts as 
search groups. 

as HMS Rodney finally intercepts the 
Bismarck . 

just how much damage the Bismarck can 
actually take. 



COMPUCDUEn 



'cer. 



er 



ALDERAAN proudly brings you: 

MAY 1941 

May 1941 is a historical simulation game written by S.N. 
Kitzis for the Commodore PET 8K machine. The game 
accurately simulates the search for the German battle- 
ship Bismarck by the British Royal Navy during World 
War II. The simulation includes air reconaissance and 
carrier-launched air strikes, the effects of bad weather 
and night , surface actions and convoy attacks , accurate 
damage assessment for each capital ship, and much more. 
A 19-page rules booklet is included which contains not 
only playing instructions but also history, ship 
characteristics, and strategy notes. The simulation 
displays a map of the north Atlantic ocean and the 
location and status of each ship on the PET screen. 

May 1941 was reviewed in Recreational Computing 
SEPT -OCT 1979. 

$24.95 pp. (California residents please add 6% sales tax.) 

Order direct from: 

^A116 ALDERAAN 

P.O. Box 1243 

So. Pasadena, Ca. 91030 

Dealer inquiries invited. 



COVER YOUR INVESTMENT 



• Cloth Backed Naugalhyde Vinyl 

• Waterproof & Dustproof 

• Longer Life 



• Improved Reliability 

• Three Decorator Colors 
Saddle Tan • Electra Blue • Black 



TRS-80 
Keyboard $7.95 

Cassette 3.95 

Video Display 9.95 
Set 19.95 



APPLE II 

Keyboard $9.95 

Disk 3.95 

Set 11.95 



Wang Terminal $18.95 
Wang w/disk 22.95 
Trendcom 100 9.95 
Soroc 10120 18.95 

Pet 15.95 



CENTRONICS 

779 $17.95 

730 9.95 

P-l 9.95 

DECWRITER 

36 $19.95 

120 19.95 

Send check or money-order to: 
Include $1 .00 for postage and handling. 
DEALER INQUIRIES INVITED 



Sorcerer $9 95 

TRS-80 Disk 4.95 

Double Disk 7.95 

PercomDisk 4.95 

LoboDisk 6.95 

Matchless Disk 6.95 



^C122 



CqmpuCouhv 

P.O. Box 324 (Dept. A) 
Mary Esther, FL 32569 
Phone (904) 243-5793 



U* Reader Service index— page 241 



Microcomputing February 1980 115 



no longer needed. This is more 
than just good housekeeping 
because if it were not reset 
properly the cassettes would 
not work. Of course, I found out 
the hard way. 

The rest of the subroutine 
sets up the timing loop while 
the printer is actually printing a 
line. The only subtle area of this 
section of the program is reset- 
ting all of the parameters. 

Normally when you establish 
a set of goals for a complex 
project, you add to these goals 
as new ideas develop. This pro- 
gram development was no ex- 
ception. Two other areas of in- 
terest developed as being high- 
ly desirable (to me, anyhow): de- 
veloping the use of cassettes 
(#1 and #2) to store and retrieve 
text, and a limited edit capabil- 
ity. 

Cassette Handling 

The program section that 
was developed to store text on 
cassettes was more complex 
than I had originally expected. 
The program is in three sec- 
tions: the selection/execution 
part (Table 12), the write sec- 
tion (Table 13) and the read sec- 
tion (Table 14). 

In the selection section, the 
first order of business is to se- 
lect the cassette that is to be 
used; my system uses an exter- 



nal cassette. The open state- 
ment can use variables for each 
instruction, and line 9110, 
"open T4, T2, T3-1, N$," re- 
quires that each variable be se- 
lected. Lines 9020 through 9035 
select T2, the cassette desired. 
Lines 9040 through 9065 estab- 
lish T3, whether to read or write. 
Lines 9070 through 9077 get the 
file name. If no file name is de- 
sired (write) or you cannot re- 
member what the file name is 
(read), then just enter a null 
(double quotes, ""). Lines 9080 
through 9089 get T4, the file 
number. Lines 9100 and 9105 
set up the cassette registers to 
ensure proper operation due to 
a ROM glitch in PET. 

It should be noted that the 
people-interactive statements, 
such as line 9065, are not only 
nice to have, but keep the pro- 
gram going when the operator 
makes a mistake. This can hap- 
pen to the best users. 

The write routine (Table 13) 
must overcome one major defi- 
ciency of the PET cassette-han- 
dling system: commas and 
some other program control 
characters are ignored by the 
system and not stored on tape. 
This can be disconcerting when 
you try to store text and all of 
the punctuation is missing. 

Fortunately, the solution is 
simple: put the string to be 



9000 


REM*CASSETTE* 


9010 


PRINT"CS"; :PRINT"WHICH CASSETTE 




DO YOU CHOOSE?" 


9020 


GOSUB 4000 


9030 


T2=VAL(Q$) : PRINT T2: PRINT 


9035 


IF T2>2 OR T2<1 THEN PRINT 




"PLEASE 1 OR 2":GOTO 9020 


9040 


PRINT "DO YOU CARE TO READ OR 




WRITE?" 


9050 


GOSUB 4000 


9055 


PRINT Q$ 


9060 


IF Q$="R" THEN T3=l:GCTO 9070 


9062 


IF Q$="W" THEN T3=2:G0T0 9070 


9065 


PRINT "PLEASE EITHER 'R' OR 




•W ":GOTO 9050 


9070 


PRINT :PRINT"WHAT IS THE 




FILENAME?" 


9075 


INPUT Q$ 


9077 


N$=Q$ 


9080 


PRINT :PRINT"WHICH FILE?" 


9085 


GOSUB 4000 


9087 


T4=VAL(Q$) : PRINT T4 


9089 


IF T4>2 OR T4<1 THEN PRINT 




"PLEASE 1 OR 2":GCTO 9085 


9100 


IF T2=2 THEN P0KE243,58: 




POKE244,3 


9105 


IF T2=l THEN P0KE243,122: 




POKE 244,2 


9110 


OPEN T4, T2, T3-1, N$ 


9130 


IF T3=l THEN GOSUB 9500 


9140 


IF T3=2 THEN GOSUB 9300 


9190 


RETURN 




Table 12. 



9300 


REM*SUB WRITE* 


9310 


J-l 


9320 


PRINT#T4,N$: GOSUB 9800 


9325 


GOSUB 4900 :PRINT"CS" ;: PRINT 




Z$+N$:PRINT"CH" 


9335 


GOSUB 4800 


9340 


D0$=CHR$ ( 34) +D0$+CHR$ ( 34 ) 


9345 


PRINT#T4,D0$: PRINT MID$ (D0$ , 2 ,40) ; 


9350 


IF MID$(D0$,2,1)="V THEN J=20 


9355 


GOSUB 9800 


9360 


J=J+1:IF J>20 THEN 9380 


9370 


GOTO 9335 


9380 


PRINT Z$+Z4$ 


9385 


GOSUB 4000 


9390 


IF Q$="Y" THENJ=l:GCTO 9325 


9400 


PRINT Z$+Z0$+Z0$ 


9410 


PRINT#T4,"OQ" 


9420 


CLOSE T4:T2=T3=T4=0 


9430 


RETURN 


9800 


REM*SUB TIME* 


9810 


IF T2=2 THEN 9850 


9820 


T0=TI :POKE59411 ,53 


9830 


IF TI-TO<6 THEN 9830 


9840 


POKE59411 ,61 : RETURN 


9850 


T0=TI : POKE59456 , 207 


9860 


IF TI-T0<6 THEN 9860 


9870 


POKE59456 ,223: RETURN 




Table 13. 



stored in quotes. You should re- 
member that the basic system 
in this program handles each 
40-character line as a string. 
Therefore, a 42-character string 
is constructed by adding the 
quote character to each end of 
the string. This is done in line 
9340 (CHR$(34) = quotation 
mark, and DOS is the original 
line string). 

Since the delimiter ("\") is no 
longer the first character in the 
last line, then it is necessary to 
skip the first character and look 
at the second element in a line 
to determine if the page is end- 
ed. This is accomplished in line 
9350 by using the MID$ instruc- 
tion. In the same manner, the 
MID$ instruction is used in line 
9345 to print on the screen the 
line that was just stored on 
tape. 

However, PET did finally win 
out. I could find no way to store 
a quote. Therefore, when using 
this program to store text on 
tape, you cannot use a quota- 
tion mark within the text. Also, 
you cannot use the delimiter in 
any section of the program, be- 
cause it will stop any function 
that is in progress. 

However, if you keep these 
two simple restrictions in mind, 
the program will store quite 
well. Line 9320 puts the file 
name on tape (so it can be read 
out and saved). GOSUB 9800 
advances the tape periodically, 
which helps to ensure reliable 



operation in the read mode. 
Line 9325 prints the file name at 
the bottom of the screen and 
sets up the screen to keep track 
of the write evolution, while line 
9335 asks what page is desired. 

Lines 9340 through 9355 set 
up the strings, put them on tape 
and check to see if the end of 
the page has been reached. 
Line 9360 steps the line number 
and checks if there are more 
than 20 lines printed. If not, 
then line 9370 will start the 
whole process over again. 
Lines 9380 through 9390 ask if 
another page is to be put on 
tape; if so, the program jumps 
to the line that sets up a new 
page. Lines 9400 through 9430 
set a section delimiter ("E") 
and close the file. This delimit- 
er is not totally necessary be- 
cause the close instruction 
also sets a status word, but it 
has been found prudent, while 
reading, to put in a little insur- 
ance. 

Table 14 lists the read sub- 
routine. Now that the write rou- 
tine is understood, the require- 
ments of the read section are 
simple. Lines 9520 through 
9535 get the file name, print it at 
the bottom of the screen and 
set up the screen to receive the 
page. Line 9540 reads the string 
(line) and prints it on the screen. 
Note that the middle 40 charac- 
ters are printed to eliminate the 
quotes that were attached to 
both ends. 



116 Microcomputing February 1980 



9500 


REM* SUB READ* 


9510 


J=0:Q1=0 


9520 


INPUT#T4,Q$:N$=Q$ 


9530 


PRINT "CS" 


9533 


PRINT Z$+N$:PRINT"CH" 


9535 


J=l 


9540 


INPUT#T4,D0$: PRINT MID$ (D0$,l,40) ; 


9550 


IF MID$(D0$,1,1)="«" THEN J=20:Q1=: 


9555 


IF ST=64 THEN J=20:Q1=1 


9560 


IF MID$(D0$,1,1)="V THEN J=20 


9570 


J=J+1 


9580 


IF J<21 THEN 9540 


9585 


J=0:GOSUB 6500 


9587 


IF Ql=l THEN 9600 


9590 


GOTO 9530 


9600 


CLOSE T4 


9610 


T2=T3=T4=Q1=0 


9620 


PRINT Z$+Z0$+Z0$ 


9630 


PRINT Z$+Z5$:FOR I=lTO500 :NEXT I 


9650 


PRINT Z$+Z0$+Z0$ 


9690 


RETURN 




Table 14. 



Lines 9550 through 9560 test 
for the end of the page and the 
end of the file. Line 9570 steps 
the line, and line 9580 reads the 
next line if the page is not com- 
plete. If the page is complete, 
then line 9585 GOSUBs to the 
store section. Upon return from 
the subroutine, line 9590 re- 
turns to read the next page if 
the end of the file has not been 
reached. Line 9587 sends the 
program to line 9600 if the end 
of the file has been reached 
(Q1=1). Lines 9600 through 
9690 close the file and tell the 
operator that the file is com- 
plete. 

That is all there is to it, and 
even if you are not trying to 
write a text editor system, this 
should contain some useful 
hints for cassette filing of 
strings. 

Edit 

The edit section is the most 
rudimentary of all the sections. 
To properly edit is a complex 
function, which is not appropri- 
ate to this discussion, besides, 
I have not worked very much of 
it out yet. Therefore, all that is 
allowed is to correct spelling er- 
rors and other small mistakes. 
However, even that has been a 



5000 


REM*EDIT* 




5050 


GOSUB 


7000 




5100 


GOSUB 


6300 




5110 


PRINT 


"CS"+Z$+ 


"CU/CU" ; 


5150 


GOSUB 


6020 




5400 


GOSUB 


6500 




5599 


RETURN 

Table 15. 





useful and worthwhile function. 
I am using the program as pre- 
sented here to do this article, 
and, believe me, I make many 
typing and grammatical errors. 
In any event, Table 15 lists 
the edit section as it presently 
stands. First, the section to 
print a page on the screen is 
used (line 5050), and then the 
lowercase subroutine is used 
(line 5100). After these two sub- 
routines have been used, the 
cursor is placed at the bottom 
of the text in line 5110 and the 
print section is entered to turn 
on the cursor and write on the 
screen. After the corrections 
have been completed, the user 
places the page delimiter at the 
bottom of the text and the pro- 
gram returns to line 5400, which 
GOSUBs to store the page. 

Executive Program 

Now that we have all these 
useful subroutines, how do we 
keep them separate and coor- 
dinated? That is the purpose of 
the executive program, the 
storehouse of program vari- 
ables and the traffic director. It 
may seem strange to address 
the first part of the program 
last, but, in fact, that is just the 
way it should be done. 

When you are constructing a 
program, you should lay out 
each part in sections. The first 
100 lines, for example, could 
contain only program identifi- 
cation information. Then per- 
haps the second 100 lines could 
be used for DIM statements 
and string definitions. Then the 
next 100 lines could be used for 



instructions. The rest of the 
first 1000 lines could then be 
used for the actual direction in- 
structions. The listing in Table 
16 is the executive section of 
this program. 

Lines 111 through 119 list all 
of the comments that are used 
in more than one section of the 
program (also listed in Table 1). 
Line 111 (Z$) and line 112 (Z0$) 
are used, respectively, to posi- 
tion and erase the comments. 
Lines 120 through 124 are the 
DIM statements to set aside 
room for the pages. Lines 200 
through 275 list the instructions 



and are repeated if requested 
during the operation of the pro- 
gram. Line 300 tells the number 
of free bytes, which is conve- 
nient to have from time to time. 
Lines 302 to 320 inquire what 
you desire to do next: writing/ 
storing, print on screen, print 
on printer, use the cassette, 
edit, finish, review the options 
or choose either lowercase 
type or graphics. This latter 
function is useful, especially 
the first time you find yourself 
in the wrong mode. The finish 
selection is just a tidy way of 
terminating a program. Line 





100 


REM*P.W. SPARKS-TEXT EDIT* 




110 


X=32727 




111 


Z$="CS/[20]CD" 




112 


Z0$=" [40]sp" 




113 


Zl$=" STORING" 




114 


Z2$="WHAT PAGE DO YOU WANT?" 




115 


Z3$="CHOICE? BYTES LEFT" 




116 


Z6$="LOWER CASE OR GRAPHICS?" 




117 


Z4$= "ANOTHER PAGE?" 




119 


Z5$=" INPUT COMPLETE" 




120 


DIM P0$(20) ,P1$(20) ,P2$(20) ,P3$(20) 




121 


DIM P4$(20) ,P5$(20) 




122 


DIM P6$ (20) ,P7$ (20) ,P8$ (20) ,P9$ (20) 




123 


DIM PA$ (20) ,PB$ (20) ,PC$ (20) ,PD$ (20) 
,PE$ (20) ,PF$ (20) ,PG$ (20) ,PH$ (20) 




124 


DIM PI$(20) ,PJ$(20) 




200 


PRINT"CS" 




205 


PRINT" INSTRUCTIONS?" 




210 


GOSUB 4000 




215 


IF LEFT$(Q$ # 1)="N" THEN 300 




220 


PRINT"CS" 




225 


POKE 59468,14 




230 


PRINT :PRINT"THIS IS A GENERAL 
PURPOSE TEXT FILE AND" 




232 


PRINT"PRINT PROGRAM. YOUR CHOICES 
ARE: " 




233 


PRINT 




2 34 


PRINT" (1)W - WRITE AND STORE" 




236 


PRINT" (2) S - PUT PAGE ON THE 
SCREEN" 




238 


PRINT" (3) P - PRINT PAGE ON THE 
PRINTER" 




240 


PRINT" (4 )C - SAVE A PAGE ON 
CASSETTE" 




242 


PRINT" (5)E - EDIT A PAGE" 




244 


PRINT" (6)F - FINISH" 




246 


PRINT" (7)? - REVIEW THE OPTIONS" 




250 


PRINT: PRINT 




260 


PRINT"TO MAKE A CHOICE ENTER 
THE APPROPRIATE" 




262 


PRINT "LETTER AND FOLLOW 

INSTRUCTIONS. IF YOU" 




264 


PRINT"NEED TO REVIEW THE 
OPTIONS JUST ENTER" 




266 


PRINT"' ?' WHEN ASKED FOR A CHOICE" 




270 


PRINT: PRINT "ANY KEY": PRINT 




275 


GOSUB 4000 




300 


T6=FRE(0) :Q$="" 




302 


PRINT Z$+Z0$+Z0$+Z0$ 




305 


PRINT Z$+Z3$;T6 




310 


GOSUB 4000 




320 


PRINT Q$: FOR I=lTO500 :NEXT I 




330 


IF Q$="W" THEN GOSUB 6000 




331 


IF Q$="S" THEN GOSUB 7000 




332 


IF Q$="P" THEN GOSUB 8000 




334 


IF Q$="C" THEN GOSUB 9000 




335 


IF Q$="E" THEN GOSUB 5000 




336 


IF Q$="F" THEN 350 




338 


IF Q$="?" THEN 220 




339 


IF Q$="G" THEN POKE 59468,12 




340 


IF Q$="L" THEN POKE 59468,14 




349 


GOTO 300 




350 


PRINT"CS"; "THAT'S ALL FOLKS!" 




355 


POKE 59468,12 




399 


END 

Table 16. 



Microcomputing February 1980 117 



399 is not normally required 
with PET, but when using the 
subroutine approach, you need 
it to keep from falling through 
into one of the subroutines. 

Conclusions 

As I stated earlier, I wrote 
this entire article (and one 
shorter one) on this routine, so 
it is technically debugged, if 
not completely polished. For 
example, I have an entire 60 
minute cassette filed with text 
without a glitch. On the other 
hand, if you do not have a full- 
size keyboard, it is easy to hit 
the wrong key and sometimes 
crash your routine. If you do not 
change the program listing or 
go to RUN, everything will stay 
just the way it is. Therefore, if 
you type in "GOTO 300," it will 
place you in the choice mode, 
and you will have all text stored 
at that point. Actually, to LIST 
the program, I would LIST the 
section desired and GOTO 
6500. 

Knowing your entry points is 
useful, particularly if the pro- 
gram concerns large blocks of 



Z$ through Z6$ (see Table 1) 

DOS— line to be stored 

D1$— each character to be printed 

D2$— character in line to be stored (D2$ = CHR$(D2)) 

N$— file name 

P0$(l) through P9$(l)— first ten pages 

PA$(I) through PJ$(I)— second ten pages 

Q$— dummy variable 

T0$— page number 

T9$— string to list pages selected 

A2— PEEKed value 

B1% — lowercase variable (B1% = ±128) 

D1— ASCII value of each character to be printed 

D2— PEEKed value converted to ASCII code 

I — dummy variable 

J— dummy variable 

Q1— end of file flag 

S1 — lowercase flag (S1 = 1 if use lowercase) 

S2— lowercase variable (S2 = ASC(Q$)) 

T— time 

TO— page number (1-10; A-J pages are all 10) 

T1— flag end of page 

T2— cassette number 

T3— cassette read or write (1 = read; 2 = write) 

T4— file number 

T6— number of free bytes 

X— initial screen memory position 

Table 17. Variables and constants. 



data. To polish the program, 
you should program out items 
that could crash the program. 
For example, the STOP key 
should be disabled. 

If you put all these sections 
together, a slow, but useful 



text-handling program will re- 
sult. More important is that all 
of these areas can be improved 
and tailored to an individual's 
needs to develop sophisticated 
programs for a low cost, that is, 
your time. I intend to concen- 



trate on the following improve- 
ments: 

• machine-program the screen 
PEEK section to increase its 
speed 

• machine-program the printer 
output to increase its speed 

• improve the edit function 

• interface the program to a 
floppy-disk unit to store the 
pages 

Table 17 lists all the variables 
that were used and should help 
in any development that the 
reader should care to make. 

My floppy disk just arrived in 
the mail yesterday, so I'm off to 
work on that improvement. 
Also, I recently received an 
IBM-style keyboard, which has 
improved my typing speed and 
error rate considerably. How 
about you? Can you take this 
start and improve it to your own 
needs? Maybe you can use 
your own version and write the 
next installment for Microcom- 
puting. My hope is that many of 
us can take a subject and carry 
on a running development for 
the education and entertain- 
ment of everyone. ■ 



WEB * ASSOCIATES 



Lillet TRS 80 0WHEBS 

SAVE "TONS" OF TIME TYPING IN YOUR BASIC PROGRAMS with 

WEB'S FAMOUS SHORTHAND FOR LEVEL II and DISK BASIC 



fUTTTTC 



»TM« 



GOTO 



SYSTfM 



VARPTR 



TRS-80 Keyboard with TSHORT Deeds installed. 

* Works with all LEVEL II and Disk Operating Systems including 
NEWDOS 

*31 preprogrammed statement keys 

* One KUSTOM™key, up to 64 characters — changeable anytime 

* 42 key decals (see picture). 10 are different for disk users 

* A single, shifted-key entry types entire statement on screen 

* Only 580 bytes of machine language in low memory 

* Comes on cassette, one side for LEVEL II, the other for DOS 

* DOS version loads to and executes from disk via TAPEDISK 

* Features self-entering commands, i.e. CONT; GOTO10; KUSTOM 

* TSHORT with four page instruction manual $9.95 



TSEL™ - We'll convert your IBM SELECTRIC to a high quality 
printer — jUp control — 512 character buffer — special TRS-80 
cable with custom control switches — complete and ready to 

LPRINT (cleaning and minor service included) $795.00 

(Options and shipping extra — call or write for special shipping 
instructions) 

TLEC™ - EPROM and cable interface kit for your IBM ELEC- 
TRONIC 50 or 60 — comes with custom control switches, 
installs in minutes $289.00 

TBEEP™ - For LEVEL II and DISK USERS - A self contained 
audio alert beeper with a pager-like tone. A simple BASIC pro- 
gram commands it to beep, i.e.: OUT 255, 1: FOR 1 = 1 to 300: 
NEXT: OUT 255,0. Plugs in-line with "AUX" cable from your 
TRS-80 (Requires 9V Battery) $ 19.95 

TBUFF™- For LEVEL II CASSETTE USERS. Eliminates, once 
and for all, cassette relay sticking. Plugs in-line with the "REMote" 
cable between your TRS-80 and cassette recorder. 
(Specify cassette recorder make and model) $ 9.98 

TPAK™ — Pack of 10C-10 blank tape cassettes with box and blank 
labels. (AGFA 61 1 tape, the best money can buy) . ... $ 12.95 



TO BE RELEASED EARLY 1980: 

TBASE™ - A powerful DATA BASE MANAGER program second 
to none! A $400.00 value for $ 29.95 

TCHAIN™ - For LEVEL II USERS - Preserve your variables and 
arrays while CLOADing multiple programs, EDITing, or execut- 
ing RUN $ 9.90 



Send check or money order to: WEB ASSOCIATES 

TELEPHONE ORDERS: P.O. BOX 60 KH, MONROVIA, CA 91016 ^W20 



(714) 559-6249 



(Calif, residents add 6% tax) 



DEALER INQUIRIES INVITED 
SORRY - NOC.O.D.'S 
FOREIGN ORDERS ADD 20% 



118 Microcomputing February 1980 



HEATh 

Owners 



Compare Our Accounting 
Programs With Anybody's — 

We're so confident you'll like them that 
we'll give you a money-back guarantee.* 



*lf you don't want to keep a program package, you may 
return it within ten days of purchase for a refund of the 
purchase price. The return must be accompanied by a state- 
ment certifying that you have retained no copy of any pro- 
gram or manual, either in written or computer-readable 
form. 

Write now for free catalog. We have Accounting, 
Mailing List, and Personal Use Programs for both 
Ext. B.H. Basic and Microsoft Basic. 




P. O Box 490156 • Atlanta. Georgia 30349 ^C166 



STfOTFLEET 




A specially designed SF TACTICAL BATTLE GAME for 
your PET, TRS-80 or APPLE Computer. 

Take command of a star fleet as you seek to drive your 
opponent's spaceships from the skies. Rescue a crippled 
battlecruiser near the planet Mardak. Lead a swarm of swift 
fighters against an almost invulnerable enemy battle station. 
Create your own battle scenarios based on your favorite SF 
stories or from your own imagination. Missiles and torpedos 
explode all about your ships while great energy beam pro- 
jectors lock on target and batter against the ship's shields. 
Will you or the enemy prevail! 

STAR FLEET ORION is a complete 2 player game system 

• rule book • battle manual • cassette 

• ship control sheets • program listings 

Includes 2 programs, 22 space ship types, and 12 playtested 
scenarios. Game mechanics are extremely simple, but play 
is exciting, challenging, and rich in detail. Specify PET (8K), 
TRS-80 (Level II, 16K), or APPLE II (16K& 32K) $19.95. 

Ask your local dealer or send your check to: 

¥f\ I Automated Simulations 
W/ I Department B1 
Wj^ p O- Box 4232 
L Mm J Mountain View, CA. 94040 A71 

California residents please add 6% sales tax 



PET Owners 

New Product 
Announcement 

Spacemaker 

If you're the owner of The Basic Programmer's 
Toolkit and Commodore's Word Processing pack- 
age for new PETs or the Computhink disk drive for 
new PETs, you'll need Spacemaker. Spacemaker is a 
utility device for new PETs that allows user selection be- 
tween ROMs that occupy the same address space, such 
as The BASIC Programmer's Toolkit and the 
Commodore Word Pro II or III ROMs, or the Toolkit 
and the Computhink DOS in ROM. 

Spacemaker is designed for maximum expansion. 
With the three empty ROM sockets currently in the 
new PETs, you can install three Spacemakers ... and 
you don't have to wait for ROM addressing conflicts to 
use them. Spacemakers are designed to work alone or 
in tandem, so each Spacemaker can serve as a resident 
device for a pair of ROMs, allowing user selection of 1 
ROM from each pair. This method of use would enable 
user selection of one of each pair of ROMs at the 
address space defined by the socket where Spacemaker 
resides. 

The second mode of use of Spacemaker provides 
even greater flexibility: with our User I/O kit, you can 
control ROM switching and selection from software 
control. User I/O uses a simple PET user port connec- 
tion and our utility package, Spacectl, to provide the 
software capability. For users whose user port is already 
dedicated, we've added a mini-controller board called 
ROMdriver. As with User I/O, PET owners can 
daisy-chain Spacemakers together, selecting (under 
software control) one of two, one of four, even one of 
six ROMs. 



Additional Items: 

User I/O This option for Spacemaker allows the 
user software selection and switching of ROMs. User 
I/O consists of a user port connector, specially designed 
Spacemaker jumpers for connection to Spacemaker, 
and our utility software Spacectl supplied on Commo- 
dore diskette. Retail price for User I/O is $12.95. 
Order parr # IIO- Primary. 

ROM I/O This option for ROMdriver owners 
provides the utility software, Spacectl, on Commodore- 
diskette. Retail price for ROM I/O is J8.95. 
Order part # RIO-Cdisk. 

ROM I/O Pack This pack is for connection of a 
Spacemaker using ROMdriver to a second or third 
Spacemaker. Retail price, $3.95. 
Order part # RIO-Exp. 

ROM PLUS This option contains the necessary 
cahles and hardware to allow ROMdriver owners 
Switch controllable jumps into Spacectl, thus bypassing 
completely the necessity of an initializing SYS call. 
ROM Plus users can do a full PET reset without erasing 
the program currently in memory. Retail price: $6.95. 
Oder part # RIO- PLUS. 

COMPUTHINK option 

Inquire for more information regarding pricing 
and availability. Part # will be COMP-rO. 

Spacemaker, ROMdriver, and the Basic Switch are trademarks of Small System Services, Inc. 
The BASIC Programmer's Toolkit is a trademark of Palo Alto ICs. 



Prices 

Spacemaker 

(Part#Sp-01) 
$27.00 

ROMdriver 

(Part#ROM-01) 
$37.00 

Inquire at your Commodore dealer: 



Small System Services, Inc. 

Post Office Box 5119 

Greensboro, North Carolina 27403 

(919)272-4867 

All prices, FOB Greensboro, NO 

»^S111 



i/ Reader Service index— page 241 



Microcomputing February 1980 119 



A Quick Screen-Clear 
for the Challenger II 



Prevent development of a microcomputer inferiority complex. 



Richard Lary 
PO Box 234 
Kilauea HI 96754 



I don't know about you, but I 
don't like to see my OSI Chal- 
lenger II outdone by other com- 
puter systems. For example, 
several systems have available 
a BASIC command that clears 
the video display in the blink of 
an eye. OSI owners, who are not 
so fortunate, must clear the dis- 
play using a loop containing a 
PRINT statement. This method 
works but is rather slow. There 
is a faster and better method. 

Surely you have noticed how 
quickly the screen is cleared 
when you press the BREAK key. 
The code that accomplishes 
this clearing of the screen is pro- 
grammed in the system's 
monitor ROM; unfortunately, 
the program in ROM is not writ- 
ten as a subroutine and cannot 
be called by a BASIC program. I 
have borrowed this code from 
the monitor and added a return- 
from-subroutine instruction to 
the end of the code. By placing 



this code and the added RTS in- 
struction in RAM, you have a 
clear-screen subroutine that 
can be called by a BASIC pro- 
gram. 

Program Location 

Program 1 shows the 
assembly listing of this subrou- 
tine. Since the program uses 
relative branching and zero- 
page addressing, the program 
can be located anywhere, un- 
changed in RAM. As shown, Pro- 
gram 1 is for Challenger II 
systems with the 540 video 
board. Changing the value of the 
last-page index from D8 to D4 
will allow Challenger I owners to 
use the program. 

Since the clear-screen sub- 
routine will be located in 
memory along with the BASIC 
program that calls the subrou- 
tine, the memory size allowed 
for BASIC must be set lower 
than the starting address of the 
subroutine. This prevents 
BASIC from overwriting the sub- 
routine. Although you can place 
the subroutine anywhere in 
memory, the best location is in 
the last 25 bytes of available 











SCNADR = |FE 












LASTPG = ID8 












SPACE = 120 




OFE6 


A2 


D8 


BEGIN 


LDX 


#LASTPG 


LOAD X REG W/ LAST PAGE HI BYTE 


OFE8 


A9 


DO 




LDA 


#*D0 


LOAD ACCOM W/ SCREEN ADDR HI BYTE 


OFEA 


»5 


FF 




STA 


SCNADR* 1 


SAVE ACCUM 


OFEC 


A9 


00 




LDA 


#S00 


LOAD ACCUM W/ SCREEN ADDR LO BYTE 


OFEE 


85 


FE 




STA 


SCNADR 


SAVE ACCUM 


OFFO 


A8 






TAY 




LOAD Y REG W/*00 


OFF1 


A9 


20 




LDA 


#SPACE 


LOAD ACCUM W/ ASCII SPACE 


OFF3 


91 


FE 


LOOP 


STA 


(SCNADR), 


Y SAVE AT SCREEN ADDR LO BYTE ♦ Y REG 


OFF5 


C8 






INY 






OFF6 


DO 


FB 




BNE 


LOOP 


DONE W/ PAGE? NO, DO NEXT LOCATION 


OFF8 


E6 


FF 




INC 


SCNADR* 1 


YES, SCREEN ADDR HI BYTE = HI BYTE+1 


OFFA 


Ek 


FF 




CPX 


SCNADR* 1 


SCREEN ADDR HI BYTE = LAST PAGE? 


OFFC 


DO 


F5 




BNE 


LOOP 


NO, DO NEXT PAGE 


OFFE 


60 






RTS 




YES, DONE! RETURN TO BASIC 








Program 


7. C/ear- 


screen subroutine 



memory. This way, the remain- 
ing lower bytes will be available 
to BASIC. 

Memory Size 

Once you have decided on the 
starting address, you can use 
either of the following methods 
to set the memory size. One 
method is to cold-start the sys- 
tem. Before loading the BASIC 
program, enter the starting ad- 
dress -1 (in decimal) in re- 
sponse to the monitor's prompt: 
MEMORY SIZE? This method 
has a disadvantage in that it re- 
quires you to remember to set 
the memory size before you load 
the program. 

A better method is to let your 
BASIC program set the memory 
size for you. There are two zero- 
page memory locations that 
store the address of the last 
memory location available to 
BASIC; the low- and high-order 
bytes of the last address are 
stored in decimal locations 133 
and 134, respectively. You can 
use BASIC to POKE the starting 
address - 1 into these two 
memory locations. 

For example, in a 4K system 
the last address in RAM would 
be 4095 decimal; the starting ad- 
dress for the subroutine would 
be 4070 decimal. The memory 
size for BASIC would be the 
starting address -1, or 4069 
decimal. You then need to con- 
vert this decimal value into its 
hex value, which in this case is 
= OF E5. 

In order to use POKE state- 
ments, you have to convert the 
high- and low-order bytes of this 
hex value into their respective 
decimal values. High-order byte 
= OF = 15 decimal and low- 
order byte = E5 = 229 decimal. 



Now that you have the decimal 
values for the high and low- 
order bytes of the last address 
available to BASIC, you can use 
the following POKE statements 
to set the memory size to 4069: 
POKE 133,229 and POKE 134,15. 
Placing these POKE state- 
ments «at the beginning of a 
BASIC program allows the pro- 
gram to set the memory size. 
Should you ever need to set the 
memory size after loading a pro- 
gram, you can use these two 
POKE statements to set the 
memory size without having to 
cold-start the system. 

The Program 

The BASIC program listed in 
Program 2 contains the code re- 
quired to set the memory size, 
load the subroutine and call the 
subroutine. Line 30 sets the 
memory size as described and 
includes the RUN command, 
which directs program execu- 
tion to begin with the line num- 
ber following the line containing 
the RUN command. If you leave 
out the line number, the pro- 
gram will get tied up in an end- 
less loop. Also, be sure that any 
variable assignments are made 
in lines after the line containing 
the RUN command; otherwise, 
the RUN command will set all 
previously assigned variables to 
zero. The DATA statements In 
lines 60-80 contain the decimal 
values for the machine-lan- 
guage instructions from the 

assembly listing shown in Pro- 
gram 1. Challenger I owners will 
have to change 216 in line 60 to 
212 in order to run the program. 
The variable SA in line 100 must 
be set equal to the subroutine's 
starting address in decimal. 
Line 120 READs the machine- 



120 Microcomputing February 1980 



language instructions from the 
DATA statements and POKEs 
the instructions into memory. 

With the exception of the 
REM statements, the state- 
ments in lines 10-120 would nor- 
mally be placed at the beginning 
of the BASIC program, which 
will be calling the clear-screen 
subroutine. 

To call a machine-language 
subroutine from BASIC, BASIC 
requires that the starting ad- 
dress of the subroutine be 
stored in the USR vector. The 
USR vector is simply two zero- 
page memory locations, 11 and 
12 decimal, which tell BASIC 
where the machine-language 
subroutine starts. 

Line 160 sets up the USR vec- 



tor by POKEing memory loca- 
tions 1 1 and 12 decimal with the 
decimal values of the low-order 
and high-order bytes of the sub- 
routine-starting address. Line 
170 causes BASIC to execute 
the machine-language subrou- 
tine pointed to by the USR vec- 
tor. 

If the clear-screen subroutine 
is the only machine-language 
subroutine that your BASIC pro- 
gram will be calling, then you 
can set up the USR vector once 
at the beginning of the program 
and use the statement in line 
170 anywhere in your program to 
call and execute the clear- 
screen subroutine. If your pro- 
gram will be calling more than 
3ne machine-language subrou- 



10 REM— MACHINE LANGUAGE CLEAR SCREEN SUBROUTINE 

20 REM— SET MEMORY SIZE TO 4069 

30 POKE 133,229 : POKE 134,15:RUN ko 

k0 REM— DATA STATEMENTS CONTAIN MACHINE LANGUAGE 

50 REM— SUBROUTINE INSTRUCTIONS IN DECIMAL 

60 DATA 162, 216, 169, 208,133»255, 169, 0,133,25*+ 

70 DATA 168,169,32,1^5,25^,200,208,251,230,255 

80 DATA 228,255,208,21+5,96 

90 REM— SET VARIABLE 'SA' EQUAL TO SUBROUTINE STARTING ADDRESS 

100 SA = 1+070 : REM— 1+070 = 0FE6 HEX 

110 REM— READ INSTRUCTIONS AND POKE INTO MEMORY 

120 FOR LC = SA TO SA •+ 2k : READ D : POKE LC,D : NEXT LC 

130 REM— SUBROUTINE NOW LOADED AND CALLABLE FROM BASIC 

11+0 REM— BASIC CODE TO CALL AND EXECUTE SUBROUTINE 

150 REM— SET UP USR VECTOR, 11 = SA LOW BYTE; 12 = SA HIGH BYTE 

160 POKE 11,230 : POKE 12,15 

170 X = USR(X) : REM— CALL SUBROUTINE 

180 END 



Program 2. BASIC program. 



tine, you will have to reset the 
USR vector each time BASIC 
calls a machine-language sub- 
routine, in order to call the right 
subroutine. 



So, OSI owners, by using the 
statements from Program 2 in 
your BASIC programs, you, too, 
can now clear your screen in the 
blink of an eye.B 



TRS-80 has a HOME 




INTRODUCING: 

Custom furniture for the 

TRS-80 off ice or home decor. 



Featuring 

• Custom all wood, hand rubbed, walnut finish 

• Bui Ids- in complete TRS - 80 business system 

• Provides copy shelf, drawer, and cushion arm rest 



FOR 24 HOUR INFORMATION 

PHONE 408-946- 1265 



/V5 



^A115 



AUDIO -VIDEO 24SS AUTUMNVAli AVE. 

SYSTEMS san jose, ca. 95133 



MicroPhase Systems 

Announces 

WORDSCRIBE for TRS-80 s 

LetWORDSCRIBEtransform your Model I or Model II 
TRS-80 into a high quality word processing system. 

WORDSCRIBE features include: full screen 
editing, margin justification, line insertion, 
line deletion, block move, block copy, find, 
change, and much much more. 

Model II $149.95 

req. 1 disk, 64k mem. 
Model I disk version $ 99.95 

req. 1 disk, 48k mem. 
Documentation only $ 9.95 

(can be applied to later purchase) 

STOCK MARKET DATA TAPES for TRS-80 Model I ! ! 

Each tape cassette contains one months data for 
the NYSE or AMEX stock of your choice. Data 
includes daily high, low, close, and volume 
information. Can be read by any Level II Basic 
program with simple input statements. Available 
for Jan. 1979 to present. Please specify month 
and stock name. 

one months data $ 5.95 

charting program $49.95 

(plots high, low, close and 2 moving avgs.) 

MicroPhase Systems 
11223 E. 45 St. So. #314 i^M125 
Tulsa, Ok. 74145 




recording studio 

CENTURI is offering 
professional duplicating 
services. We serve in small 
or large quantities starting 
as low as $1.75 each. 

Fast Dependable Service. 

«^C170 

Call (305) 753-7440 or write to Centuri 
Recording Studios at 11460 West Sample 
Road, Coral Springs, Florida 33065. 




USERS! 





Read 



The Unofficial OSI Users Journal 

- User Equipment Reviews 
- Hardware Mods 

- Software Exchange 
- Peeks & Pokes 
- Bugs & Fixes 

Send $8°° for 12 issues to: 



PEEKI65) ^we 

62 Southgate Ave. 
Annapolis, MD 21401 





PutSARGON II 1 on disk 

Send a stamped self-addressed 

envelope and $5.00 to: 

RCV CONSULTANTS, 

9459 Taylorsville Rd. Dayton, OH 45424 

For complete instructions enabling you to copy 
your Hayden tapes to disk. Implementation 
relocates the tape-loaded machine-language code 
from low to high memory during DOS operation, 
and during game play disables the monitor vectors 
which would point into SARGON II code, thus 
avoiding critical memory conflicts. 

All you have to do is type in and run 4-Statement 
BASIC program and it does everything necessary 
to make the type-loaded SARGON II code ready 
for disk storage, retrieval and game-play. As a 
bonus, you get to keep the DOS 2.2 keyboard de- 
bounce feature during SARGON II operation! 

Requires a TRS-80* Model I Level II 32K with 
one disk drive, and DOS 2.2 diskette. 

'copyright 1979 Hayden Book Co. 
* trademark Tandy Corp. 

TRS-80 is a trademark of the Radio Shack 

Division of Tandy Corporation. D40 





J 



TIISMi (HANI 



16K UPGRADE KIT FOR TRS-80, APPLE, PET, 
SORCERER $70 

Mostek 4215-3 200ns 16K x 1 RAMS 

MICROPOLIS 8" HARD DISK DRIVE with 

Power, S-100 controller 

9 Megabyte $3995 

27 Megabyte $4495 

45 Megabyte $4995 

APPLE II PLUS 16K $995.00 

DISCOUNTS on EXIDY SORCERER, PET, most 
other systems, peripherals, and software. 



MICROCOMPUTERS, v^ M 1 34 

PERIPHERAL! AMD SOFTWARE 



""""Vv 101 



b NAVARRO SAN ANTONIO. TEXAS 78205 

512/222 1427 



f 



Microcomputing February 1980 121 



IT PAYS FOR ITSELF . . 

| 

Announcing Our 
Integrated Accounting System 




Accounts Receivable Payroll Accounts Payable 



• Totally modular . . . buy only what you need 

• Fast, efficient and easy to use 

• Cursor control for SOL SOROC, ADM-3, 

ADDS-100, Hazeltine 1500, Intertube 

• 65 programs for maximum flexibility 

• Too many features to list here! 

Prices: General Ledger Alone: $125 General Ledger Plus: 

One package: $225.00 Two packages: $300.00 All four: $350.00 

Manual (for all 4 packages): $20.00, credited towards pur- 
chase. Programs use North Star Basic, 2 disk drives (double 
or single density), 32K of memory. Specify video device 
when ordering. 



master charge 

TMC INTIBBANK CARD 



P.O. Box 68602 

Indianapolis. IN 46268 



Phone orders 
(317)253-6828 



Double your memory 
. . . not the price! 



COMPARE AT $695 . . . //-T * 



■» 



Remex RFD 4000/8' 
Floppy Disc Drive 
Double the storage! 
Double sided . . . 
Double density!! 

Offers quality and features found in drives costing 
much more! ■ Single or Double Density ■ Double-Sided Drive ■ Door 
Lock INCLUDED ■ Write-Protect INCLUDED ■ 180 Day Warranty 
■ Compatible with Shugart 850/851 ■ Low Power Operation ensures 
LONGER LIFE! ! ■ Model RFD 4001 offers Data and Sector Separator 

AVAILABLE OPTIONS/ACCESSORIES 



You don't have to buy it 
just for the low price. 



You can buy 
it for the 
quality, too! 









If you've been looking 
for a less expensive floppy 
disc drive, but not wanting to 
sacrifice quality - your search is over! 

You get both in the Remex RFD1000B! For 
only $395 look at what you get: ■ 8" Floppy 
Drive ■ Single or Double Density ■ Hard or 
Soft Sectoring ■ Media Protection Feature ■ 
Single Density Data Separator ■ 90 Day Fac- 
tory Warranty 

AVAILABLE OPTIONS/ACCESSORIES 

□ Door Lock, $19.95 □ Dual Drive Power Supply, $91 95 □ Interface Manual, $2 95 

□ Write-Protect, $19.95 □ Single Drive Power Supply, $69 95 □ Interface Adapter, $12 95 
n Connectors, $9 95 □ Drive Cabinet, $24 95 (Remex to Shugart) 



REMEX RFDIOOOB 




VOLUME DISCOUNTS AVAILABLE 



SIRIUS SYSTEMS, P Box 9748. Knoxville. TN . 37920 

Phone Orders accepted 9AM-7PM (EST) 615/577-1072 
□ Check n Money Order n C D n MC n VISA fj AE 



^S113 



namF 



CARD # 



ADDRESS 



EXPIRATION DATE 



cTrT 



■statt 



TIP- 



CARDHOLDERS SIGNATURE 
Add $7.00 per Drive for Shipping/Handling Tennessee residents add 6% sales tax Foreign orders 
add 10% (payment in US currency only) 



i 
l 
l 
I 

I 
l 
I 
l 





SIRIUS SYSTEMS, P Box 9748. Knoxville. TN . 37920 

Phone orders accepted 9 AM-7 PM (E S T ) 615/577-1072. please send the following 

□ RFD 4000. $525 □ RFD 4001 . $539 / □ Check Q Money Order Q C O D □ MC □ VISA □ AE 



NAfvTT 



CARD # 



ADDRESS 



EXPIRATION DATE 



CITY STATE ZIP CARDHOLDERS SIGNATURE 

Add $7 00 per Drive for Shipping/Handling Tennessee residents add 6% sales tax Foreign orders 

add 10% (payment in U S currency only) 



The world's most popular microcomputer, with 16K of 
memory and Level 11 basic for only $750, complete 
with full 90 day Radio Shack warranty. 
We accept check, money order or phone orders with 
Visa or Master Charge. (Shipping costs added to 
charge orders). 

Disk drives, printers, peripherals, software & games. . . 
you name it, we've got it 
(both Radio Shack & other 
brands). Write or call for 
our complete price list. 



*^C157 



ELECTRONICS 
MART, LTD. 




AUTHORIZED 
DEALERSHIP 



Radio /hack 



32 EAST MAIN • MILAN, MICHIGAN 48160 • (313) 439-1508 



122 Microcomputing February 1980 



At Last! Affordable 

WORD PROCESSING 



Made Possible by TRS-80 



(TM) 



NEW SCRIPSIT" 
Word Processing 
Software for 16K 
Level II TRS-80s. 

s 69 95 Cassette* 

s 99 95 Disk* 



NEW UPPER 
AND LOWER 
CASE KIT. 
Available for 
new or exist- 
ing TRS-80 
systems. 

s 99 Installed 4 




EDIT, DELETE, MODIFY — 
then print it error-free, 45 
characters per second! 



NEW TRS-80 DAISY 
WHEEL PRINTER. 
Clean and readable 
printing, like the very 
finest electric type- 
writers. 

s 2999* 



RADIO SHACK BRINGS 
YOU A COMPLETE WORD 
PROCESSING SYSTEM FOR 
TRS-80 MODEL I COMPUTERS. 

Radio Shack smashes another 
computer "cost barrier" with the 
new TRS-80 Word Processing 
System. The system includes our 
new SCRIPSIT software, Upper/ 
Lower Case Kit and Daisy Wheel 
Printer. Add it to any 16K Level II 
TRS-80, or buy a complete sys- 
tem. Once you've tried it, you may 
never use a typewriter again! 

The new SCRIPSIT software 
lets you compose letters and doc- 
uments of all types on TRS-80's 
screen in upper case, or upper 
and lower case with the new Up- 
per/Lower Case Kit. You can 
move words or entire paragraphs, 
insert, delete and edit to your 
heart's content! SCRIPSIT gives 
you automatic page numbers, 
page headings and footnotes and 
makes it easy to indent para- 
graphs, change line widths, and 
center your text horizontally or 



vertically. Advanced features in- 
clude justification, auto-hyphena- 
tion, global search/replace, and 
variable screen width. On-going 
reports, form letters and text with 
print commands can be stored on 
TRS-80 cassettes or diskettes for 
use or revision at any time. 




SCRIPSIT software includes an audio 
cassette course that makes anyone a 
proficient word processing operator. 



PRINT ALL OF THE 
"ORIGINALS" YOU NEED, 
FAST AND ERROR-FREE! 

Our new WP-50 Daisy Wheel 
Printer is fast and gives you the 
same quality of the finest electric 
typewriters — carbon film ribbon 
and all! Or, if your job doesn't 
require "letter" quality, a TRS-80 



system with a dot matrix, u/lc 
printer costs even less. 

A complete TRS-80 cassette 
system with Word Processing 
Software, Upper/Lower Case Kit 
and a dot matrix printer is yours for 
just $2,046.95* Or choose a really 
deluxe system with the WP-50 
Printer and two floppy disks that 
store eight hours of 50 WPM typ- 
ing for only $5,492.95* 

Sound exciting? You bet it is! 
Visit your nearest Radio Shack 
outlet or write for details. 

*Retail prices may vary at individual stores and dealers. 



Radio /hack 

The biggest name in little computers® 

A DIVISION OF TANDY CORPORATION • FORT WORTH, TEXAS 76102 



Mail to: Radio Shack, Dept. CMA-419 
1 300 One Tandy Center 
Fort Worth, Texas 76102 

I'd Like to Know More! 



□ Send details on TRS-80 Word Processing 
and the 24-page TRS-80 Catalog #RSC-3. 

[ ] Have a representative contact me. 



NAME 



ADDRESS 
CITY 



STATE 



ZIP 



I Own/Use a TRS-80 □ Yes □ No 
Model 



iS Reader Service index— page 241 



Microcomputing February 1960 123 



The Fitful Journey to 
Double Density 



A microcomputer engineer explores the perils and pitfalls of a new technology. 



David C. Jenkins 

Teletek 

9767 Business Park Dr. 

Sacramento CA 95827 



The purpose of this article 
is to review the operation of 
double-density floppy-disk 
storage and to look at some of 
the problems that are being en- 
countered as the microcom- 
puter industry changes from 
single-density mode of opera- 
tion to double-density. 

As most of us know, one of 
the basic problems facing the 
microcomputer user is the 
storage of information. This 
information may be games or 
inventory or accounting or other 
information forming part of a 
business data base. There are 
several alternatives to consider 
when storing information. 

Data Storage Technologies 

The first alternative in data 
storage technologies is random 
access memory. This technique 
becomes prohibitively expen- 
sive when a small business 



BASE CLOCK 



DATA 



-»| BIT CELLf— 

n n_ 



FM < 



DATA PULSE — 

COMBINED 
CLOCK AND 
DATA ' L 



ji n 



operation wants to store 4 
million bytes of information that 
contain inventory and payroll 
information. A second method 
is the use of paper tape. How- 
ever, it often is not convenient 
because it is bulky and is not re- 
usable. 

A third alternative is cassette 
tape. Cassette interfaces are 
relatively inexpensive, and 
cassette tape itself is very inex- 
pensive. Cassette tape can 
store a great deal of infor- 
mation. Because information is 
stored serially on a cassette 
tape, cassette tape has very 
long and, in many instances, 
unacceptable access times. 
Typically, it takes 20 seconds or 
more to reach any particular file 
on the tape before actual read- 
ing of information can occur. 

The fourth, and perhaps most 
attractive, alternative for many 
applications is disk technology. 

Disks provide a large volume 
of data storage and fast random 
access to any particular item. At 
present there are two types of 
disk storage: hard disk and flop- 
py disk. Hard disks typically 



n n n n n 



R 







Jl 



jL_n_n_n_n n_n_n n. 



Jl 



MFM DATA PULSE 



MMFM DATA PULSE 



n 



s\ n 



ji 



n a 



n 



ji 



_n 



A 



A 



Fig. 1. Floppy-disk data encoding. 



store 10 megabytes or more of 
information on either perma- 
nent or removable platters. They 
may be configured to contain up 
to 96 megabytes or more per 
disk drive. This represents 
approximately 40,000 pages of 
text, which is adequate for most 
medium-sized business needs. 
However, hard-disk systems are 
quite expensive, often ranging 
in excess of $5000. 

The second disk technology, 
floppy disk, typically costs 
around $1 200 for a double-densi- 
ty floppy-disk drive with control- 
ler. A double-sided double-den- 
sity floppy-disk drive and inter- 
face can store approximately 
one megabyte of information 
(approximately 400 pages of 
text), which is enough storage 
capacity for many applications. 
(For further information on 
basic requirements and hard- 
ware used in a floppy-disk drive 
system, readers are encouraged 
to consult "Floppy Disks" by 
Douglas Hogg in the March 1977 
issue of Kilobaud.) 

Theory of Single- and Double- 
Density Recording 

At this point, let's briefly 
review the theory behind single- 
and double-density recording 
and some of the implications of 
this technology. Physically, 
double-density disk drives do 
not differ significantly from their 
single-density counterparts. 
Improvements in double-density 
record and playback heads and 
changes in mechanics often 
provide less expensive and more 
durable drives. These changes 
are minor compared to the 
differences in reading and 



writing functions. 

Fig. 1 reviews encoding meth- 
ods used in single- and double- 
density. The standard recording 
formats are FM (frequency mod- 
ulation), MFM (modified fre- 
quency modulation, double-den- 
sity) and MMFM (modified modi- 
fied frequency modulation), 
which is a refinement of MFM. 
The first line of Fig. 1 indicates 
the basic clock frequency, which 
designates the bit cell in which 
information will be passed. The 
next line (Data) illustrates a 
sample of information. The third 
line shows the pulses that gen- 
erate that information in a sin- 
gle-density FM format. Notice 
that information actually sent to 
and received from the drive is a 
combination of the basic clock 
frequency and data pulses. 

The next line is MFM. Here on- 
ly the data pulses will be sent to 
the drive; their orientation within 
the bit cell determines the value 
of that particular data pulse, be 
it a 1 or a 0. Every is repre- 
sented by a data pulse that coin- 
cides with the basic clock fre- 
quency. A 1 is represented by a 
pulse that occurs midway be- 
tween two clock pulses. Thus, 
when the data pulse occurs in 
the middle of a bit cell, it is a 1; 
when it occurs in the beginning 
of a bit cell, it is a 0. Note: When 
the previous bit was a 1 and the 
present bit is 0, no pulse is sent 
to the drive. 

The next line represents 
MMFM, a slight refinement of 
MFM. The data pulses once 
again represent 1s and 0s via 
their placement within the bit 
cell. However, the rules change 
slighWy. \\ \V\e preceding data 



124 Microcomputing February 1980 



pulse was a and the present 
datum is a 0, then the data pulse 
will not occur. 

If the preceding data pulse 
was a 1 and the present datum is 
a 0, the present data pulse will 
not appear. If the preceding data 
pulse was a 1 and the present 
datum is a 1, a data pulse will 
appear. Every time there is a 1, a 
data pulse will appear in the 
middle of a bit cell. Whether or 
not a data pulse occurs de- 
pends on the preceding datum. 

Note that the density of data 
pulses for MFM is almost exact- 
ly one-half the density of data 
pulses for FM. Thus, for the 
same density of pulses on the 
diskette, MFM will record twice 
as much information as FM. 
MMFM is slightly less dense 
than MFM, but its complexity of 
encoding and decoding out- 
weighs the slight advantage it 
might enjoy due to slightly less 
density. 

The basic clock frequency for 
FM encoding is 250 kHz for an 
8-inch diskette. When we delete 
the clock and leave only the data 
pulses in MFM, that clock rate 
changes to 500 kHz. The MFM 
data transfer rate is twice as 
fast as FM. The density and the 
speed are both doubled, which 
means that twice as much infor- 
mation can be stored in the 
same physical space and can be 
manipulated twice as fast. 

Nonstandard Double-Density 
Operating Systems 

In the computer industry, IBM 
is the recognized leader with a 
major share of data-processing 
system placements. Traditional- 
ly, minority companies have 
chosen IBM standards in order 
to maintain compatibility be- 
tween their equipment and 
IBM's. Thus, in single-density 
floppy disk, the de facto in- 
dustry standard is 128 bytes per 
sector as first introduced with 
IBM's 3740 system. 

IBM's new double-density 
standard now specifies a min- 
imum sector size of 256 bytes. A 
major problem is developing in 
the microcomputer industry in 
that some manufacturers of 
double-density floppy disk inter- 
faces are modifying their hard- 
ware to provide 128 byte sectors 
in a double-density operation in- 



stead of moving to the de facto 
256 byte format developed by 
IBM. As a result, we are witness- 
ing the development of many 
double-density nonstandard 
operating systems focusing on 
the 128 byte sector format. 

Microcomputer users familiar 
with cassette tape operation 
will find the proliferation of non- 
standard operating systems 
familiar in that the development 
of similar nonstandard formats 
in cassette operation has result- 
ed in at least five totally incom- 
patible tape formats, all of 
which are currently in use: the 
Radio Shack TRS-80, the Com- 
modore PET, Kansas City, Tar- 
bell Bi-Phase and the Processor 
Technology CUTS Bi-Phase 
recording formats. 

As we are all aware, cassette 
users are often faced with the 
difficult problem of trying to 
transfer information among 
various incompatible machines. 
Each device must be modified 
either by the addition of hard- 
ware or through sophisticated 
software techniques to provide 
compatibility. It appears that 
many double-density floppy 
users may well be faced with the 
same frustrating circumstances 
when they have to exchange 
information between systems. 

Nonstandard File Sector 
Interleaving 

A second major problem 
emerges when we consider the 
move from single- to double- 
density: data file sector inter- 
leaving. As indicated in Fig. 2, 
some amount of time is normal- 
ly required to read a sector of 
information from the floppy 
diskette. Once that information 
is read, the CPU normally per- 
forms some manipulations on 
that information, such as a 
search for particular data within 
that sector, an alphabetizing of 
names that are contained within 
that sector or some other similar 
operation. 

If the CPU spends much time 
in manipulating data read from 
the first sector— and because 
the sectors on the track of a 
diskette are contiguous, i.e., one 
sector adjoining the next — over- 
run will occur at the beginning 
of the second sector to be read, 
thereby causing the CPU to lose 



SECTOR I 


SECTOR 2 


SECTOR 3 


SECTOR 4 


SECTOR 5 SECTOR 6 



READ DATA 



CPU OPERATIONS 



READ DATA 



CPU OPERATIONS 



: 



2. 



FILE I 



FILE 21 



FILE 86 



FILE I 



FILE 21 



FILE 86 



FILE 



n 



INTERLEAVE 



Fig. 2. File sector interleaving. 



time while waiting for the disk- 
ette to make one rotation to get 
to the beginning of that second 
sector. Reading a file will be- 
come a slow and inefficient 
task. 

This problem can be over- 
come if we space the sectors 
across the diskette and 
separate them by other file sec- 
tors (refer to line 2 of Fig. 2) 
rather than sequentially access- 
ing sectors as illustrated in line 
1. Thus, all those sectors per- 
taining to file 1 are spaced every 
third sector. 

This means that when the 
CPU has read the information 
from the first sector of file 1, it 
can wait for the sectors of file 21 
and file 86 to pass and be oper- 
ating on that information be- 
fore the next sector of that 
file is due to be read. Now in- 
stead of reading one sector 
per revolution of the diskette, 
the CPU can read eight sectors. 
In effect, we have increased the 
data transfer rate from the 
diskette to the system by a fac- 
tor of eight times. 

The industry-wide problem 
that is emerging is that hard- 
ware manufacturers have taken 
disk operating systems and 
developed file interleaving to 
suit their own purposes instead 
of designing to an industry stan- 
dard. This presents problems to 
the users who often may not be 
using software from the same 
manufacturer and, therefore, 
are most likely running a dif- 
ferent and incompatible inter- 
leave. 

For example, a user's soft- 
ware may be expecting sectors 
spaced four apart and the 
diskette being read actually has 
sectors with file information 
spaced three sectors apart. 
Thus, software will be getting 
different pieces of different files 
and will not be able to recon- 
struct the complete file that the 
user is attempting to read. The 



information that results will ap- 
pear to be a random collection 
of information rather than an 
ordered file. 

Nonstandard Number of 
Sectors per Track 

A third major area of concern 
emerging as an industry-wide 
problem is the actual number of 
sectors per track in a soft-sector 
format. Because a manu- 
facturer can modify the leader 
preceding any sector of informa- 
tion, a different number of sec- 
tors can be placed on any one 
track of a diskette. Once again, 
manufacturers are developing 
individual internal standards to 
suit their specific requirements 
instead of designing to an ac- 
cepted industry standard. 

For example, some mini- 
floppy-based manufacturers are 
providing 16 sectors per track, 
while others are providing 18. 
The result is that the user is 
isolated, unable to be com- 
patible with another user's 
system; therefore, he is without 
a means of efficiently exchang- 
ing information between user 
systems. 

Advancement in State of the Art 

While there appears to be no 
doubt that nonstandardization 
among manufacturers has been 
and continues to be the major 
source of incompatibility, tech- 
nical advancement in the state 
of the art is emerging as a sec- 
ond major source of incompat- 
ibility that rivals it in sig- 
nificance. Many disk operating 
systems now available were 
designed around the single-den- 
sity disk drive without the fore- 
sight that technology would 
very probably change, allowing 
much more information storage. 

Indeed, two technical 
advancements did provide this 
expanded storage capability: 
doubled-sided drives and 
double-density encoding. These 



Microcomputing February 1980 125 



advances effectively quadru- 
pled the amount of information 
that could be stored in a floppy- 
disk system. Unfortunately, 
much of the then existing soft- 
ware could not be expanded to 
accommodate this increase in 
information. 

Ideally, a disk operating 
system must not be limited to 
any specific current technology, 
I hope it will be flexible enough 
that when technology changes 
the software will not be instantly 
obsolete, as was too often the 
case with the introduction of 
double-sided drives and double- 
density encoding. Similarly, it 
will be interesting to observe 
what software attrition rate 



accompanies the probable 
doubling of the number of 
tracks per diskette side from the 
present 77 to 154. 

In this article, we have re- 
viewed the operation of double- 
density floppy-disk storage and 
looked at some of the major 
problems that are being gener- 
ated in the move from single-den- 
sity mode of operation to double- 
density, in the absence of ac- 
cepted industry standards and 
software systems that fail to an- 
ticipate technical advancement 
in the state of the art. 

The basic answers to these 
problems lie with the software 
operating system. Two essen- 
tial characteristics for this soft- 



ware are: (1) that the operating 
system be written/designed to 
an industry-wide standard and, 
in particular, compatible with 
IBM for double-density and (2) 
that the operating system be 
written in such a way as to be 
flexible enough to provide years 
of service despite technical ad- 
vances in hardware. 

There are available to the 
microcomputer user several 
good operating systems that 
embrace many of the thoughts 
of this article. Two of these are 
OASIS from Phase I and FAMOS 
from MVT Microcomputer 
Systems. Both operating 
systems provide advance data 
base management facilities and 



hardware-independent storage 
of information. Thus, a user 
could begin his system with a 
floppy disk and, as his needs 
matured, move to a hard disk 
and be readily able to transfer 
information from the floppy-disk 
system to the hard disk system. 
As the microcomputer in- 
dustry matures, it must embrace 
standards as well as do its best 
to anticipate technical ad- 
vances. These basic steps will 
reap rewards, not only for the 
authors of software because 
people will be buying that soft- 
ware for years instead of for 
months, but more important for 
the users, the people who ulti- 
mately pay the price. ■ 



MICROPOLIS 

Generalized Accounting Software 

The GENERAL LEDGER pro- 
vides multiple chart of ac- 
counts capability, user de- 
fined reporting, multi-level 
summarization and many 
large mainframe features. 

For additional information 
on the GENERAL LEDGER 
or other accounting soft- 
ware, write to: 

Management Information Specialists 
4823 South 25th Street 
Milwaukee, Wisconsin 53221 

^M121 



DATA-BASE 
MANAGEMENT 

• INITIALIZATION: of any data base by no. of 
records, no. of fields, name of fields, no. of 
characters per field. 

• SELECTIVE LISTING: on any field. 

• MENU DRIVEN: for easy operation, addition, 
lookup, change, delete, list. 

• HASHING: for fast operation on large files. 

• FREE! APPLICATION: mailing list generator 
with multi-key selective listing. 



NORTH STAR: DISK 
TRS-80: DISK OR CASSETTE 
LISTINGS: FOR ABOVE 



$29.95 
$29.95 
$20.00 



Computer Data Services '%&> ^C175 
PO Box 1626, Melbourne FL 32935 




»^A111 

TRS-80 ©TAPE DIGITIZER 



1/ SO H Ml 4HU u 1 1 Hi il I 

< 4S\I 111 HI \f<)ll 

ll\ nil SUIH II IHH 

$54.95 

I sed by the 
I S. Coast 
Ciuard and 

i ..v. \fl»v 



•ELIMINATES CASSETTE 
LOADING ANO COPYING 
PROBLEMS EVEN 
"SYSTEM" TAPES' 

'MAKES TAPE PROGRAM 
LOADING PRACTICALLY IN 
DEPENDENT OF VOLUME 
CONTROL SETTING! 

-MAKES PERFECT COPIES 
OF ANY TAPE DIGITALLY 
WITHOUT USING COM 
PUTER. DIGITIZED TO EX 
ACT REPLICA OF TR 80 » 
SIGNAL WHILE REMOVING 
HUM. NOISE AND OTHER 
MINOR DROPOUTS 

•AC POWERED NO BAT 
TERIES CASSETTE SWITCH 
ALLOWS MANUAL OR COM 
PUTER CONTROL OF CAS 
SETTE RECORDER 

•FEED YOUR CASSETTE TO 
THE TAPE DIGITIZER AND 
FEED YOUR COMPUTER 
THE EXACT DIGITAL 
WAVEFORM THE TRS 80 
GAVE TO THE TAPE WHILE 
MAKING A COPY AT THE 
SAME TIME 1 

•THE TAPE DIGITIZER IS 
COMPLETELY COMPATIBLE 
WITH LEVEL I AND II 




■ 1. 1 Hill II 4 J 4 I SDK 4 I OH A 4\ll > 
f N 4HI M SA 11l\(, KH I W < l>\ I Kill 

hih i.ixtn rmn.H t\i i\ninr 4 I04IM 
nmt nut' 



•<.t i hid in uh k 1 4 ft hi i,\ mn 

HIHOM t ri9 9bHt\lU.h l'4ll> 
l.l 4H4SUHI IOH\ \OIHt4ft 
I'HOHI t\1\l>H HI Tt HS IS III 114} s 
AH 1 1 HtH WW 



I ) 



24-hour phone 
(707) 887-7237 



U I D4I4 4WH4SHH \fl) AIM 
H>Ht\IHI It. ( |/ IIOHSI I VWIA 

■ 



197. 



CAT-100 GETS 

QQLQR! 



Complete on two S-100 boards, 
CAT-100 is the original 16-color 
imaging system with high 
resolution video frame grabber. 

FREE CATALOG stock 

request yours today n hr mmmm 

Video out: 4 bit D/A 

16 levels or 16 colors Vldeo in P u,: ' ul1 s P eed Expandable 32K byte 

le 4-bit A/D j mage memory 



3 RGB color outputs 



Phototrigger 



Character 
generator _, 




■ 



DIGITAL 

VIDEO 

SYSTEMS 



Dept. 32 595 Matadero Avenue 

Palo Alto. CA 94306 

^D60 415/494-6088 



Commodore PET CBM 
SOFTWARE BREAKTHROUGH 

COM WORD PROCESSOR 
6502 Machine language software based in ROM and disk 
oriented. Full text editing and printer formatting for 16K or 
32K PET. 
ONLY $99.00 

DISK OASED DUSWESS SOFTWARE FOR 32K PET. D6K AND PWNTER. 

GENERAL LEDGER — Prints all financial statements and up- 
dates accounts file. Comprehensive documentation. 
PAYROLL — You enter the hours, this program then tells you 
the payroll costs, prints the checks (with proper forms), and 
prints all tax reports. 

ACCOUNTS RECEIVABLE- Ageing and updating. Pull reports 
for late accounts. 

ACCOUNTS PAYABLE -Pay on discount dote or all ot once. 
Prints checks. 

INVENTORY -Very Complete. Holds up to 800 items per 
disk. 

CUSTOMER INFORMATION. MAILING LIST -Print labels. Up- 
date by any field. 

JOD COSTING -Find out the true cost of a job DEFORE bid- 
ding it. 



EACH MODULE ■$ 119.95 ALL 7 -S795.00 

Write for our free catalog or ask your dealer to contact 

i^^nivifc'iiirri \KHfVJSA 

617 W. 16th St. 

Cheyenne, Wy 82001 

(307)632-9132 



OMPUTER 
CONCEPTS 

L BUSINESS SYSTEM CONSULTANT 



22 MHz MONITORS! 



126 Microcomputing February 1980 



^C167 



NEW 

$99 




12 INCH 

GRAPHICS 

QUALITY 

SOLID STATE 22 MHz MONITORS: OEM tabietop style 
B&W P4 CRT. Accepts separate video and TTL level horiz & 
vert syncs Any sweep 10-20 KHz 110 VAC Simple TRS-80 
hookup Supurb resolution, bandwidth 10 Hz-22 MHz With full 
maint manual, timing, schematics. TRS-80 hookup, parts lists 
Used, fully checked, very clean, no burns $77 New. checked . $99 

TOUCHTONE DECODERS: Telans Collins 7640-01. single 
12V DIP contains complete analog filtering. Collins digital counter 
type 16 tone decoder Hook up to 12V & 3 58 MHz color burst xtal. 
run audio in. get 2 of 8 or 4-bit hex out Current OEM list price is 
$125 Brand new w crystal & full manual $66 

S-100 CORE SALE: Brand new. tested Ampex core See 
article ITS TIME FOR CORE (9 79 Kilobaud p 34) which 
describes a simple interface between this core and an S-100 
machine But ignore the prices in the article 1 Sale priced, including 
documentation pkg and schematics 16K $230 8K $99 

AMPEX 29 MEGABYTE DISK DRIVES: Brand new 
commercial 20 surface disk drives at a fraction of their OEM cost 
Model DM312. full size console type units. 2 5 MHz data rate with 
the best written technical manual we've ever seen If you enjoy 
interface design this is the bargain you ve been waiting for . $1600 

TERMS: UPS included except DM312s SASE or call for full spec 
sheets on any item UPS COD welcome, add $1 25 VISA & MC 
•4% NJ add sales tax Everything guaranteed Immediate 
shipment or immediate refund Phone orders and questions are 
welcome 

ELECTRAVALUE INDUSTRIAL 

POBOX157-K r./) Phone orders 

MORRIS PLAINS. NJ 07950 <--\A/^ are welcome 

201/267-1117 




Build your own microcomputer 

as you learn 
computer technology at home. 



New from NRI! 

The First Interdisciplinary 

Home Study Course Ever Offered 

As the microprocessor revolutionizes 
the computer world and microcomputers appear 
almost everywhere, NRI brings you a new, con- 
venient, and effective way to keep up with this 
expanding technology. It's NRI's courses in 
Microcomputers and Microprocessors, created 
and designed exclusively for learning at home 
in your spare time. 

Designed for the New Breed 
of Computer Technician 

It's no longer enough to be just a pro- 
grammer or technician. With microcomputers 
moving into the fabric of our lives as low-cost, 
easily available tools for business and home, 
both the programmer and technician must 
become total professionals. With practical 
knowledge of hardware, the programmer can 
design simpler, more effective programs. And 
with advanced programming skills, the tech- 
nician can test and debug systems quickly and 
easily. The NRI course gives you simultaneous 
training in both skills . . . makes you one of this 
rare new breed. 

Build Microcomputer, 
Test Instruments 

NRI goes far beyond book learning to give 
you practical, "hands-on" experience. As you 
learn, you actually assemble NRI's designed- 
for-learning microcomputer. It performs like 
the finest of its kind, and features both assembly 
and basic language capabilities. 

Every assembly step's a learning step. 
Using the NRI Discovery Lab® plus the NRI 
transistorized volt-ohm meter and CMOS digital 
frequency counter you also build, you perform 
meaningful experiments throughout your 
course. . .trace circuitry, interface components, 





introduce and correct problems, design your 
own programs, and more. 

The Proven Way to Learn 
at Home 

You don't have to worry with travel, classes, 
or time lost from work when you learn the NRI 
way. As they have for more than 60 years of teach- 
ing technical subjects, NRI brings the material 
to you. You study in your spare time, at your 
convenience, using "bite-size" lessons that 
program material into logical segments for easier 
assimilation. You perform experiments and build 
equipment using kits we supply. And your per- 
sonal NRI instructor is always available for con- 
sultation should you have questions or problems. 
Over a million students have already shown 
the effectiveness of NRI 
training. 

Choice of 
Courses 

Several courses 
are available, depending 
upon your needs and 
background. NRI's 
Master Course in Micro- 
computers and Micro- 
processors starts with 
the fundamentals, 
explores basic electronics 
and digital theory, the 
total computer world, 
and the microcomputer. 
The Advanced Course, 
for students already 



versed in digital electronics, concentrates on 
software and the world of the microprocessor 
and microcomputer. In both courses, you build 
all instruments and your own computer. 

Send for Free Catalog. . . 
No Salesman Will Call 

Get the details on these exciting new 
courses in NRI's free, 100-page catalog. Shows 
all kits and equipment, lesson outlines, and full 
information, including facts on other electronics 
courses. Mail the coupon today and we'll rush 
your catalog. No salesman will ever call. Keep up 
with the latest technology as you learn on your 
own computer. If coupon has been removed, 
write to NRI Schools, Computer Department, 
3939 Wisconsin Ave., Washington, D.C. 20016. 




NRI Schools 

McGraw-Hill Continuing 

Education Center 
3939 Wisconsin Avenue 
Washington, DC. 20016 

NO SALESMAN WILL CALL 

Please check for one free catalog only. 

D Computer Electronics Including 

Microcomputers 
□ TV/Audio/Video Systems Servicing 
D Complete Communications Electronics 

with CB • FCC Ucenses • Aircraft, 

Mobile, Marine Electronics 
D CB Specialists Course 
D Amateur Radio • Basic and Advanced 







All career courses 
approved under GI Bill. 

□ Check for details. 



□ Digital Electronics • Electronic 
Technology • Basic Electronics 

D Small Engine Repair 

D Electrical Appliance Servicing 

□ Automotive Mechanics 
D Auto Air Conditioning 

□ Air Conditioning, Refrigeration, & Heating 



efris 



Including Solar Technology 



Name 



(Please Print) 



Age 



Street 



City/State/Zip 

Accredited by the Accrediting Commission of the National Home Study Council 



172-020 



v* Reader Service index — page 241 



Microcomputing February 1980 127 



Breakpoints for 
North Star's Monitor 



Extermination of bugs is greatly simplified when you can stop them in their tracks. 



Glenn Foster 

585 E. Grand Traverse 

Union Lake Ml 48085 



One of the few really impor- 
tant features that North 
Star saw fit to omit from the 
software supplied with the Ver- 
sion 4 DOS is a means of abend 
debugging for machine- or as- 
sembly-language programs. It 
didn't take long to discover that 
the most common output from a 
newly coded program was just 
plain nothing ... no flashing 
lights (none to flash), no core 
dumps (no printer, either, in my 
case), no cryptic messages from 
the DOS. 

In my past decade's ex- 
perience chasing bugs on one 
system or another, I have found 
that they are a great deal easier 
to find with a means to examine 
intermediate program states. 

North Star provides a monitor 
that allows you to examine and 
modify memory, as well as 
branch to specific locations. 
One procedure is, therefore, to 
patch in a branch to the monitor 
at the end (middle, etc.) of a 
routine, then branch to the 
beginning. This works as long 
as there are no important 
register values on entry, and as 
long as the programmer is not 
interested in the values of the 
registers on exit. 

Obviously, a little more is re- 
quired. It might be enough to 
have a means to set up the reg- 
isters just before branching to 
the start of the code under test 
and save the registers when 
returning to the monitor. It 
would be a nice extra if the jump 
and return could be accom- 
plished by specifying two ad- 
dresses to a utility routine, 



rather than patching in the re- 
quired code. In fact, the nicest 
solution would be for all of this 
to be available from the same 
monitor program that provides 
the tools for poking about in 
memory. 

Debugging Solutions 

As it turns out, all of the above 
is relatively easy to accomplish. 
North Star provides explicit in- 
structions to allow user addi- 
tions to the command repertoire 
of the monitor. By patching in 
the ASCII value of the new two- 
letter command and the address 
at which the user code starts, 
almost anything that can be pro- 
grammed can be added. 

For example, there can be a 
function called BP for break- 
point, which takes two ad- 
dresses as arguments, starts by 



filling up the registers with ini- 
tial values, then jumps to the 
first address and allows the pro- 
gram under test to execute until 
the second address is reached. 
At this point, of course, the 
registers might be saved, and 
control returned to the monitor. 
Branching to the first address 
is no trick at all. Before going, 
however, provision must be 
made for picking up all of the 
Z-80 registers, as well as allow- 
ing a means to get back to the 
monitor. Getting back to the 
monitor is easily accomplished 
by simply putting a call to the 
monitor at the second address, 
which conveniently places its 
ending address on the stack, 
preparing for the return of the 
original code. This leaves the 
registers as the only remaining 
problem. 




>FM 2AC0-2B00 
>DC 2A00 

2A00 00= 31 00= 00 00= 2B 00= 3E 00= 20 
>BP 2A00 2A05 
(MONITOR VER. 1.1 (C) 1978 NORTH STAR COMPUTERS INC. 
>DH 56F0,10 

56F0 20 00 00 00 00 00 00 0C 00 00 00 CO 2B 00 00 00 
>DH 2A00 / 6 

2A00 31 00 2B 3E 20 00 
>DS 2A05 

2A05 00= 32 00= 03 00= 2A 
>BP 2A05 2A08 

MONITOR VER. 1.1 (C) 1978 NORTH STAR COMPUTERS INC. 
>DH 56F0,10 

56F0 20 00 00 00 00 00 00 00 00 00 00 00 2B 00 00 00 
>DH 2A00,10 

2A00 31 00 2B 20 20 32 03 2A 00 00 00 00 00 00 00 00 
> 



L 



Example 1. 



You could work up a sophis- 
ticated system with neatly for- 
matted and titled displays, as 
well as selective modification 
features. Unfortunately, this 
would be a little bit time-con- 
suming to program, and might 
well soak up more of my sys- 
tem's precious 16K than I would 
like to see dedicated to debug- 
ging. 

So let's do it the easy way. If 
you're into machine and 
assembly language, you're 
probably already in the habit of 
thinking of the registers as a 
block of six register pairs: AF, 
BC, DE, HL, IX and IY. Once you 
develop this habit, it is easy to 
recognize a 16 byte hexa- 
decimal display as AF BC DE HL 
IX IY SP, with two spare bytes at 
the end. 

We've also become used to 
thinking of 2A00 as the normal 
start address of any application 
program, so one more address 
to remember should be very lit- 
tle trouble. If we steel ourselves 
to the effort of remembering the 
one address that is the start of a 
register save area, then the dis- 
play and modification machin- 
ery for our registers will already 
be programmed. The monitor al- 
ready allows us to display and 
modify memory. 

The 16-byte trick is conve- 
nient because 16 bytes fills one 
line on the CRT when formatted 
in hex, and the hex length 
entered to trigger the display is 
10, a nice easy pair of digits to 
remember. 

To execute a section of code, 
for example, a subroutine that 
resides from 2ABF to 2ADE, we 
enter BP 2ABF 2ADE. We find 
ourselves back in the monitor, 
and the registers are available 
where we saved them. If the BP 



128 Microcomputing February 1980 



function always saves its 
registers at 56F0, we will enter 
DH 56F0,10. The immediate 
result is a hex display of all the 
normal Z-80 registers, in the se- 
quence in which we are ac- 
customed to remembering them 
(see Fig. 1). 

To modify a register or 
registers, use the DS command 
with the appropriate address. 
DS 56F0 will display the value of 
the (saved) A register and allow 
a new value to be entered. (See 
North Star documentation for 
further nuances.) 

Restrictions 

In the form in which I actually 
implemented the Breakpoint 
function, there are two impor- 
tant reservations and one nice- 
ty. The reservations are that 
three bytes must be, in a limited 
sense, available at the end of 
the section of code to be tested, 
and that the Z-80 "alternate" 
registers are not saved and 
restored by the routine. 

The nicety is that the code 
shown makes use of some sub- 
routines already lurking about in 
the North Star monitor. Specif- 
ically, with space at a premium, 
it seemed appropriate to "bor- 
row" the North Star subroutines 
for numeric input. I found these 
by carefully comparing the 
machine code at the branch 
points of several other com- 
mands in the monitor. 

For those who are interested, 

the North Star monitor is struc- 
tured such that an entire com- 
mand line is input from the key- 
board to a buffer. Processing 
does not begin until the carriage 
return is entered. The two-char- 
acter command is then found in 
the command table, which is 
described in the North Star 
documentation . 

The monitor then branches to 
the address in the table. The 
logic for the individual com- 
mand is then responsible for 
making appropriate calls to 
various input decoding subrou- 
tines, depending on the format 
of the specific command. The 
breakpoint logic makes use of a 
subroutine at 5D3E that picks 
off one address from the buffer, 
builds the binary value into HL 
and advances a pointer used by 
the next call to 5D3E. The de- 



limiter that terminated the ad- 
dress is left in the A register, 
which can be tested (as simple 
input verification). 

Both of the reservations 
could be eliminated by an enter- 
prising programmer with ap- 
propriate hardware. For exam- 
ple, a software interrupt could 
be used (one byte), but this 
would require memory in the 
area from to 2A00 and would 
require special use of this 
memory space. 

Mine starts at 2A00 just like 
all "standard" Horizons, and the 
three-byte restriction has not 
been important enough to even 



worry about. In practice, there is 
almost always a suitable 3-byte 
long exit point near the end of 
any section of code I have 
wanted to examine . . . espe- 
cially since the three bytes only 
have to be unused during the 
test execution. On return to the 
monitor, the original values will 
be replaced. 

Saving the alternate registers 
has similarly not been a factor 
since I have deferred using them 
in lieu of a possible excursion in- 
to interrupt-driven or multi-ter- 
minal, or both, software at some 
future time. Addition of the nec- 
essary code to save and restore 



them would not, of course, be 
particularly difficult. 

As the comments at the top of 
the assembly listing indicate, I 
chose to make the modification 
to the version of the monitor 
that has its origin at 5700. (North 
Star provides this as an alter- 
nate version. The "normal" mon- 
itor starts at 2A00, like most ap- 
plication programs.) 

I did this because I usually 
write assembly programs with 
large variable-sized buffers at 
the end. For debugging pur- 
poses, I simply assemble the 
program with a smaller buffer 
space so it will fit below the 



Breakpoint subroutine. 



002 






* 


TO 


INSTALL, 


LOAD M5700 MONITOR AT 5700 


003 






* 


PATCH 593A 1*2,50 


,03,56 


DO* 






* 




SO 'BP' 


FROM-ADDR 


TO-ADDR WILL INVOKE THIS RTN 


00b 






* 


LOAD THIS 


ROUTINE AT 5600 


006 






* 


SAVE NEW 


MONITOR AS 


M5600 FOR 10 BLKS FROM 5600 


007 










ORG 


:5600 




008 5600 


C30057 








JMP 


:5700 




009 5603 


CD3E5D 








CALL 


:5D3E 


MONITOR RTN TO FETCH 'GO' AD 


010 5606 


FE20 








CPI 


:20 




011 5608 


C2585D 








JNZ 


:5D58 


MONITOR ERR RTN IF DELIM NOT 


012 560B 


223750 








SHLD 


GOFER 


PUT 'GO' ADDR INTO JMP INS. 


013 560E 


CD3E5D 








CALL 


:5D3E 


...NOW FETCH BRKPT ADDR 


Oil* 5611 


113956 








LXI 


D, INSAV 




015 561U 


010300 








LXI 


B,3 




016 5617 


EDB0 


$ 






MW + R 




SAVE INS FROM TEST PROG. 


017 5619 


2B 








DCX 


H 




018 561A 


113C56 








LXI 


D,BPRET 




019 561D 


72 








MOV 


M,D 


. 


020 561E 


2B 








DCX 


H 




021 561F 


73 








MOV 


M, E 


BKPT RET ADDR IN POSITION 


022 5620 


2B 








DCX 


H 




023 5621 


3ECD 








MVI 


A, :CD 




021* 5623 


77 








MOV 


M,A 


COMPLETE CALL INS AT ERKPT 


025 562U 


CD6656 








CALL 


FLPREG 


REVERSE HI-LO BYTES OF REGS 


u26 5627 


31F056 








LXI 


SP,RAF 




027 562A 


Fl 








POP 


PSW 




028 562B 


CI 








POP 


B 




029 562C 


Dl 








POP 


D 




030 562D 


El 








POP 


H 




031 562E 


DDE1 


$ 






POP 


X 




032 5630 


FDE1 


$ 






POP 


Y 


ALL REGS SAVED IN NAMED LOCS 


033 5632 


ED7BFC56 


$ 






LSPD 


RSP 


RESTORE SP 


031* 5636 


C3 








DATA 


:C3 




035 5637 


0000 




GOF 


DBL 







036 5639 


00 




IN 


SAV 


DATA 


00 




037 563A 


00 








DATA 


00 




038 563B 


00 








DATA 


00 




039 563C 


ED73FC56 


$ 


BPR 


SSPD 


RSP 


START BY SAVING SP 


01*0 561*0 


31FC56 








LXI 


SP,RSP 


N.B. FRST PSH @RSP-1 


01*1 56U3 


FDE5 


$ 






PSH 


Y 




01*2 56U5 


DDE5 


$ 






PSH 


X 




0U3 56U7 


E5 








PSH 


H 




01+1* 56U8 


D5 








PSH 


D 




01*5 561*9 


C5 








PSH 


B 




0U6 56UA 


F5 








PSH 


PSW 




0U7 56UB 


ED7BFC56 


$ 






LSPD 


RSP 


RESTORE SP FROM TEST PROG. 


0U8 56i*F 


Dl 








POP 


D 


ADDR AFTER B.P. CALL TO MON 


01*9 5650 


ED73FC56 


$ 






SSPD 


RSP 


'REAL' SP OF PROG UNDER TEST 


050 5651* 


IB 








DCX 


D 




051 5655 


213B56 








LXI 


H, INSAV+2 




052 5658 


010300 








LXI 


B,3 




053 565B 


EDB8 


$ 






MW-R 




RESTORE INST. AT BRKPT 


051+ 565D 


31F85E 








LXI 


SP, :5EF8 


MONITOR'S INTERNAL STACK 


055 5660 


CD6656 








CALL 


FLPREG 




056 5663 


C30057 








JMP 


:5700 




057 5666 


0607 




FLP 


MVI 


B,7 




058 5668 


ED737E56 


$ 






SSPD 


SPSAV 




059 566C 


31F056 








LXI 


SP,RAF 




060 566F 


21F056 








LXI 


H,RAF 




061 5672 


Dl 




REG 


POP 


D 




062 5673 


73 








MOV 


M,E 




063 5671* 


23 








INX 


H 




061* 5675 


72 








MOV 


M,D 




065 5676 


23 








INX 


H 




066 5677 


10F9 


$ 






DBNZ 


REGLP 




067 5679 


ED7B7E56 


$ 






LSPD 


SPSAV 





Microcomputing February 1980 129 



068 
069 
070 
071 
072 
075 
07U 
075 
076 
077 
078 

*************************** 

♦SYMBOL TABLE* 
*************************** 



567D 
567E 
5680 
56F0 
56F2 
56FI* 
56F6 
56F8 
5 6FA 
56FC 
56FE 



C9 
000U 

0000 
0000 
0000 
0000 
0000 
0000 
F056 





RET 




SPSAV 


DBL 





EORTN 


RES 


:56F0-EORTN TO STABILIZE 


RAF 


DBL 





RBC 


DBL 





RDE 


DBL 





RHL 


DBL 





RIX 


DBL 





Rl Y 


DBL 





RSP 


DBL 
END 


RAF ENOUGH STACK T 



REG SAVE AREA 



GOFER 
REGLP 
RDE 
RSP 



5637 
5672 
56FU 
56FC 



BPRET 
EORTN 
RHL 
SPSAV 



563C 
5680 
56F6 
567E 



FLPREG 

RAF 

RIX 



5666 
56F0 
56F8 



INSAV 

RBC 

RIY 



5639 
56F2 
56FA 



GET BACK 



monitor. When it is ready for pro- 
duction, I use a final assembly 
with a larger buffer space de- 
clared. (Under most conditions, 
larger buffers mean faster ex- 
ecution.) 

The modified monitor has its 
entry at 5600, providing 256 
bytes for the breakpoint logic. 
The register save area is forced 
to address 56F0 (the last 16 
words of the new block of code), 
so it will remain constant even if 
the breakpoint routine is later 
modified.! 



WP 6S02 * 



Pro Word Processing for 
OSI — ATARI - PET - APPLE 



Text insertion of up to 100 text blocks for simple 
form letter preparation. 

Both global editing, featuring echo-checking and 
cursor controlled screen editing. 

Intelligent tabbing featuring space-over or dot- 
over. 

One version supports disk and/or tape. 

All in assembler; runs on even a 4K machine. 

Has exclusive "AP" option: every page can start 
with a new paragraph. 

And much more. 



OSI Video (C1/C2/C4) $75 

ATARI TBA 

PET (new) TBA 



OSI 65U.&.D. (serial) $100 

APPLE IV and II TBA 

Complete Operations Manual . . $2 



Specify Tape 8" or 5" NY: Add 8% 


*^D67 


— • 


Dwo Quong Fok Lok Sow 

37 1 Broome St. 

NY, NY 10013 


A r~ "* ^ 


* E:rs 



FOR THE VERY BEST IN 



TRS-80 COMPATIBLE SOFTWARE 



'Tiny' Pascal FOR TRS-80 

Now you too can have Pascal! The famous Chung/Yuen tiny' Pascal has been specially 
designed for the TRS-80! The full power and elegance of 'tiny' Pascal is at your command. Pro- 
grams written in tiny' Pascal run at least 4 times faster than the same program in BASIC! Tiny' 
Pascal is also a great way to learn Pascal programming, & fun too. 

Best of all, you only need a 16K Level II TRS-80! No disk is required . The tiny' Pascal operating 
system is self-contained and very easy to use. 

Tiny' Pascal is a subset of standard Pascal & includes: RECURSIVE PROCEDURE/FUNC- 
TION, IF-THEN-ELSE, REPEAT/UNTIL, PEEK' & POKE', WHILE DO, CASE, MORE! (Plus full 
graphics for your TRS-80). 

You can save and load programs to and from tape in both source and compiled form. 

You get all this and more, plus a users manual for $40.00 

DISK VERSION NOW AVAILABLE $45.00 

Energy-Miser 

Energy-Miser is a complete heating/cooling analysis program for your home, office or 
business! With Energy-Miser you can calculate heat loss because of poor insulation, leaky 
doors and windows, poor planning and more. With Energy-Miser you can predict the annual sav- 
ings on your utility bills for various improvements or modifications, including: use of solar 
power, better insulation, opening and closing drapery, etc. 

But there is even more: Energy-Miser can also calculate your Return on Investment That is, 
you can find your break point for converting to solar, for insulating better, etc. Energy-Miser even 
takes into consideration the Energy Tax Credit! Energy-Miser is a program designed to save 
your money! 

Energy-Miser is a proven program written by a professional and includes a complete user's 
manual for $22.50. (Minimum System 16K Level II, No Disk Required) 

Anglophone 

At last you can take complete advantage of your TRS-80 voice synthesizer. Forget about 
cumbersome phonetic codes. With Anglophone' you can simply use ordinary English. Com- 
pletely interfaces with BASIC, or just about any other programming language. Anglophone' ap- 
plies sophisticated pronunciation rules to transform normal English spelling into speech using 
the TRS-80 Voice Synthesizer. Minimum hardware: Level II, 16K, Voice Synthesizer. Comes com- 
plete with user's manual and test program. $45.00 

Talking Terminal 

The Talking Terminal' program turns a TRS-80 into a talking computer terminal. The Talking 
Terminal' program receives input from a remote computer and converts it to spoken words. Its 
many user options include: Instant Replay, spelled speech, silent or pronounced punctuation 
and more. Minimum hardware: Level II, 16K, Voice Synthesizer, RS-232c board and expansion 
interface. $145.00 



(217)344-7596 



i^S61 




All orders prepaid or COD. Illinois residents add 5% sales tax 

P.O. Box 1628. Champaign, IL 61820 1 



Soroc 120 $790 

Soroc 140 $1260 

Hazeltine 1400 $685 

Hazeltine 1410 $780 

Hazeltine 1500 $999 

Intertube $764 

Perkins- Elmer /Ban tan. . $775 



L 



Comprint 912 $529 

Heath WH-14 $749 

Centronics? 79 $995 

Dec LA36 $1345 

Nee 5510 $2455 

Qume Sprints/45. . . . $2999 
TI 810 $1650 



TRS-80 Level II 

16K, exp. I/O $1199 

32K, exp. I/O $1270 

Sorcer-Exidy 

16K system $1095 

32K system $1270 



Cromemco 

ZPU(kit) $279 

Z-2(kit) $545 

Z-2D(kit) $1295 

System 2 $3399 

System 3 $4799 

Multi-user basic $700 



24 HR. ORDER SERVICE 

Ph (219) 293—4316 Mon Sat 

EAST nJCJ.0 

P.O. Box 621 ^ M9A 
Bristol, IN 46507 



HANDLING Terminals add 37r for 

shipping or freight collect 

TO ORDER Send certified check or 
M.O. For personal or 
business allow 2 weeks 

INDIANA RESIDENTS add 4 r A 



130 Microcomputing February 1980 



NEW 




STUNT CYCLE 



$15.95 



NOVEMBER 



THUR FR1 



LANO ) 
V 



4 • THANKSGIU1NG DAY 



FLOUER-CRYSANTHEMUM'BIRTHSTONE-TOPAZ 



PERPETUAL CALENDAR $9.95 




CLOWNS & BALLOONS $15.95 




PEG JUMP 



$ 9.95 




ALIEN INVASION 



$ 9.95 




BASEBALL 



$15.95 



KNOCK DO*C>-0 
PVtOf r I EFT =3 



p^Sc^e ^ 



BLITZKRIEG 



$15.95 




LORES HYPERPAK 



$ 6.95 




APPLE ALLEY 



$ 6.95 




l-CHING 



$15.95 




GUIDED MISSILE 



$15.95 



All orders must include 3% postage and hand- 
ling with a minimum of $1.00. California resi- 
dents include 6% sales tax. 
VISA MASTERCHARGE 



Apple II is a trademark of Apple Computers, Inc. 



PROGRAMMA 
INTERNATIONAL, Inc. 

3400 Wilshire Blvd. 
Los Angeles, CA 90010 

(213) 384-0579 
384-1116 

384-1117 ^P48 



BOXING 



$ 9.95 



Dealer Inquiries Invited 




FRUSTRATION 



$ 9.95 




TIHE 91 

SPEED 



DEATH RACE 



$15.95 




■ ■ ■■ ■ 

nun mini hum imhii mm 




MOUSE HOLE 



$ 6.95 




WORDWACKEY 



$ 6.95 




APPLE INVADER 



$15.95 




BREAKTHRU 



$ 9.95 



^- 


* • 


, 


Win: SHE MIX] 


L_* 




, 


'"lp 


I 




H^H 


■■■■■^■i 


BIHnnmp 


VWWVW^^^H 


■ 




ENERGY- 


i ieee 


HITS- 


FUEL- 


197 





STAR VOYAGER 



$15.95 











Ct 

i 

Q) 

CD 
TJ 



10 

T 
0) 

3 

TJ 


a 

c 


ct 

(0 



Apple's Hidden 
Floating-Point Routines 



Lightning-fast number crunching, HIRES graphics and Integer BASIC — all at once. 



John Martellaro 

2929 Los Amigos Ct, Apt. B 

Las Cruces NM 88001 



One of the nice things about 
having a microcomputer is 
that you can do high-speed 
mathematics. An Apple II, for ex- 
ample, does a nine-digit floating 
point division in Applesoft in 
about 4 1/2 ms. There may be oc- 
casions, however, when you are 
either not satisfied with the 
speed of Applesoft or cannot 
use it for some reason. If you 
owned any other computer, you 
would have to start looking for 
assembly-language programs 
that allowed you to work with 
floating point numbers. Not so 
with the Apple II. 

A versatile, but little known, 
feature of the Apple II is the set 
of floating point routines— ma- 
chine-language programs in 
ROM (starting at hexadecimal 
$F425) that do floating point 
arithmetic on four-byte floating 
point numbers. These routines 
have been given little attention 
because (1) little documentation 
is supplied with the machine 
other than the assembly-lan- 
guage listing on page 94 of the 
Apple II reference manual, and 
(2) the answer is difficult to deci- 
pher—the required normaliza- 



tion in a hex format makes the 
representation of the number 
extremely abstract. It is discon- 
certing to find that the number 
two is represented as 81 40 00 
00. 

Nevertheless, these routines 
can be extremely useful in at 
least two areas: high-speed 
number crunching, if you can in- 
terpret the result . . . that's what 
this article is about, and high- 
speed graphics, which requires 
some input, then a high-speed 
calculation of floating point 
numbers resulting in screen 
points that are integers. Then 
the Apple HIRES routine can be 
used to plot the points. 

There is one catch: if your pro- 
gram uses assembly language 
only, then you are free to use the 
floating point (FP) routines as 
they are in ROM. However, if you 
wish to mix Integer BASIC and 
assembly language, you will 
have to reassemble the FP rou- 
tines into RAM somewhere and 
change the working registers to 
somewhere very low in zero 
page of memory (for example, 
the "sweet 16" area). This is be- 
cause Integer BASIC appropri- 
ates the area used by the FP rou- 
tines ($F4 to $FB). 

For high-speed graphics, I 
write an assembly-language 
subroutine that does all the 
number crunching using the 
floating point routines. Then I 



use the FIX function (explained 
later), which conveniently trans- 
forms the floating point number 
into a 2 byte signed two's com- 
plemented integer (also ex- 
plained later), which happens to 
be the same format that Integer 
BASIC uses. Then, I can shove 
those two bytes into a memory 
location of some Integer BASIC 
variable (just as the HIRES rou- 
tines do); I can now plot the 
point or print the value using the 
BASIC print statements. (See 
the Apple II reference manual, 
pp. 34-39, particularly Fig. 3 on 
p. 39.) 

The upshot of all this is that 
you can now do high-speed 
number crunching with high- 
speed HIRES graphics under the 
control of a fast Integer BASIC! 
The possibilities opened up by 
this are unlimited. The capabil- 



ity of the Apple for simulation or 
real-time applications is en- 
hanced considerably. 

This article will give you an in- 
troduction to these floating 
point routines and their use. 

The Floating Point Format 

What follows contains a lot of 
strange-looking numbers. Do 
not let that upset you. That you 
have read this far means you are 
interested. If you read carefully, 
you'll find that everything is ex- 
plained and that it isn't all that 
hard. 

Actually, the format of the 
floating point numbers is an old 
idea; it is just new to today's mi- 
crocomputerist. Four bytes are 
used to represent a number: one 
byte is used for the exponent 
and the other three form the 
mantissa. Since three bytes 



Binary Exponent Written in 


Hex 


Decimal Equivalent 


00 






-128 


01 






-127 


7F 






-1 


80 









81 






+ 1 


FE 






+ 126 


FF 






+ 127 




Table 1. 





132 Microcomputing February 1980 



01111010 
122 
7A 



01000000 
64 
40 



00000000 
00 
00 



00000000 
00 
00 



binary 

decimal 

hex 



Example 1. 



contain 24 bits, you have 24 bi- 
nary digits of precision. 

In order to find out how many 
decimal digits this is, we write 
224 = 10 n 

where N is an unknown to be 
found. We next take the log of 
both sides (natural or common, 
it doesn't matter) and use the 
equation log(a b ) = b log a. 

log(2 25 ) = log(10 N ) 

24 log 2 = N log 10 

N= 24log2 

log 10 
= 7.2 

So we can represent a number 
of about seven decimal digits 
with 24 binary bits. However, 
since we use floating point num- 
bers, we can have a number with 
about seven digits of precision 
times an exponent. This allows 
us to store much larger (and 
smaller) numbers. 

First, let's look at the expo- 
nent. With one byte for the expo- 
nent, we can represent 2 s , or 
256, different numbers. These 
are the powers of 2, and the for- 
mat is selected so that there is 
no need for a sign bit. Instead, 
the exponents are in the range 
of -128 to +127 (decimal) rep- 
resented as 00 through FF (hex). 
That is, the smallest character- 
istic is 2~ 128 (about 10 -38) and 
the largest is 2 + 127 (again, about 
10 + 38 ). Table 1 should make this 
clear. 

Next, the mantissa. The num- 
ber is normalized so that the 
leftmost two bits are 01 for a 
positive mantissa and 10 for a 
negative mantissa. The binary 
point (BP) is considered to be 



just to the right of these two left- 
most bits. For example, a posi- 
tive number might be 

01.XXXXX... 

where the Xs are any combina- 
tion of 1s and 0s. A negative 
number would look like 

10.XXXXX . . . 

Of course, the binary point is im- 
plied and not stored in the bit 
string. We keep track of it by the 
normalization. 

This normalization process is 
similar to what we do for ordi- 
nary decimal numbers in scien- 
tific notation. Given 



0.01 x 10 



-3 



(base ten) 



we can multiply the mantissa by 
100 and divide the characteristic 
by 100 to keep the number un- 
changed: 



1.X10 



-5 



(base ten) 



Notice that no zeros were filled 
in because we really didn't know 
what was after the 1 in the first 
number. By convention, we fill in 
with trailing zeros. 

A binary example of the nor- 
malization is 

0.001 2 x2- 3 (base two) 

(This should really be written: 

0.001 2 x(10) 2 ~ 011 

where (10) 2 = 2 10 in order to elim- 
inate decimal numbers from the 
binary representation. Take 
your choice.) Again, we multiply 
by a suitable power of the base, 
in this case 2 3 , to obtain: 

01.0 2 x2 -6 (base two) 

The mantissa is properly nor- 
malized since it starts with 01. 
the exponent is -6 10 , which 
converts 7A. For presentation 
purposes, we use the conven- 
tion that the leftmost byte is the 
exponent and the mantissa has 







FP1 






FP2 




248 


249 


250 251 


decimal address 244 


245 


246 


247 


F8 


F9 


FA FB 


hex address F4 


F5 


F6 


F7 


X1 


M1 


M1 +1 M1+2 


assembly X2 
mnemonic 


M2 


M2+1 


M2 + 2 


EXP 


high 


low 


contents EXP 


high 




low 






Mantissa 






Mantissa 






Table 2. 


Floating point registers. 







Function 


Mnemonic 


Numbers) In 


Call Location 


Result In 


Negate 


FCOMPL 


FP1 


F4A4 




FP1 


Add 


FADD 


FP1 + FP2 


F46E 




FP1 


Subtract 


FSUB 


FP1 - FP2 


F468 




FP1 


Multiply 


FMUL 


FP1 x FP2 


F48C 




FP1 


Divide 


FDIV 


FP2/FP1 


F4B2 




FP1 


Float 


FLOAT 


16 bit integer 
in M1 & M1 + 1 
(M1 +2 cleared) 


F451 




FP1 


Integer 


FIX 


FP1 


F640 




16 bit integer 
in M1 & M1 + 1 




Table 3. 


Floating point arithmetic 


routines. 



the most significant byte on the 
left. This number, which is, by 
the way, 1/64 base ten, is repre- 
sented as shown in Example 1. 
So the floating point equiva- 
lent of 1/64 is 7A 40 00 00. For 
negative numbers, we would 
have two's-complemented the 
mantissa before normalization. 

The Floating Point Routines 

Now that you see how the 
floating point numbers are rep- 



resented, it's time to look at the 
routines that operate on them. 
The subroutines operate on one 
or two registers (depending on 
whether the function is monadic 
or dyadic) called FP1 and FP2. 
These reside in page zero of 
memory. Their location and con- 
tents are shown in Table 2. 

To use the routines, load the 
proper registers with the float- 
ing point number(s) and call the 
proper routine. See Table 3 for 



Glossary 



Absolute Value: 



Binary Point: 



Characteristic: 



Dyadic Function: 
Floating Point: 



Mantissa: 



Monadic Function: 



Normalization: 



Precision: 



Two's Complement: 



Zero Page: 



The value of a number without regard to 
the sign of the mantissa. ABS( - 3) = 3. 
The analog to the decimal point which 
indicates the separation between the 
zeroth power of the base and the - 1 
power. Hence, 10.1 2 = 2.5 10 
A leftover term from slide rules. It is use- 
ful to describe the value of 10 ± N or 2 ± N . 
A function that requires two arguments 
(inputs). Addition is a dyadic function. 
A number representation that uses an N 
bit mantissa presumed to be multiplied 
by a characteristic. 

The first multiplier of a number in scien- 
tific notation. In 2 x 10 6 , the 2 is the man- 
tissa; 10 6 is the characteristic; and 6 is 
the exponent. 

A function that requires only one argu- 
ment (input). The log is a monadic func- 
tion. 

The process whereby a number in scien- 
tific notation is adjusted so that the 
mantissa lies in a certain range. For 
decimal numbers, usually 1<M<10; for 
binary, 1/2<M<1. 

A measure of the number of digits that 
can be represented. 1001 has four digits 
of precision. It is another name for sig- 
nificant digits. 

A method of representing negative 
binary numbers. First, all 0s are made 
1 s, and all 1 s are made 0s. Then 1 is add- 
ed. For example, 4 is 00000100. The 
two's complement is 11111100. 
The first 256 memory locations address- 
able by the computer. Used extensively 
by the firmware. 



Microcomputing February 1980 133 



Type 


Then Hit 


Comments 


F4:83 60 00 00 


RETURN 


Put 12 in FP2 


F8:82 40 00 00 


RETURN 


Put 4 in FP1 


F4B2G 


RETURN 


Execute routine at F4B2 


F8.FB 


RETURN 


Examine contents of FP1 




Example 2. 



If the Format Is Then 

1) 0.00XXX Move BP right until you get 01. XXX; E = - RN 

2) 0.01XXX Move BP right two places to get 01 .XXX; E= -2 

3) 0.10XXX Move BP right one place to get 01.0XXX; E = - 1 

4) 0.11XXX Move BP right one place to get 01. 1XXX; E= -1 
where RN is the number of places moved to the right. 

Example 3. 



If the Format Is 


Then 








1) 1.11XXX 




Move BP right until you get 10.XXX; E = 


-RN 




2) 1.10XXX 




Move 


BP right two places to get 10.XXX; 


E= - 


2 


3) 1.01 XXX 




Move 


BP right one place to get 10.1XXX; 


E= - 


-1 


4) 1.00XXX 




Move 


BP right one place to get 10.0XXX; 


E= - 


-1 


where RN is 


» the 


number of places moved to the right. 






(Note: Even 


though the 


number is less than 1, in two's complement, 


the leading 


becomes 


a1). 












Example 4. 







the format. 

For example, to divide 12 by 4, 
hit RESET. If you have Applesoft 
in ROM, be sure the switch is 
down, then hit RESET. Example 
2 shows you what to type. You 
will then see 81 60 00 00, which 
is decimal 3. 

The Algorithm 

If you wish to write a program 
that utilizes these routines, you 
will have to have two tools: a 
short assembly-language pro- 
gram that will move data in and 
out of the FP registers and a pre- 
cise algorithm for translating 
decimal numbers into the float- 
ing point format. As you will see, 
this is a tedious process for 
more than a couple of numbers. 
The algorithm is as follows: 

1. Write down the number in 
decimal; call it N. 

2. Convert to binary, ignoring 
the sign of the mantissa. 

3a. If the absolute value of N 
is less than 1 , then keep only the 
leftmost 24 significant digits, 
that is, ignoring leading zeros. 

3b. If the absolute value of N 
is greater than 2 24 , record the lo- 
cation of the binary point and 



keep only the leftmost 24 digits. 

4. Eliminate the binary point 
after noting its location. 

5. If the mantissa is negative, 
two's-complement it. 

6a. If N is positive and >1, 
shift the binary point to the left 
(if necessary) until there is only 
one leading zero, that is, the left- 
most bits are 01. (If necessary, 
add a leading zero.) Lop off any 
bits before the 01 and fill out to 
the right with zeros to make up 
24 bits. The number of place 
shifts is the binary exponent 
+ E. 

6b. If N is positive and <1, 
then do one of the operations in 
Example 3. 

6c. If N is negative and the 



absolute value of N^1, shift the 
binary point to the left until the 
leftmost bits are 10 and add 
trailing zeros to make up 24 bits. 
The number of place shifts is the 
exponent + E. (Exception: If all 
1s are to the left of the decimal, 
shift the binary point to the right 
one place. Lop off any leading 
1s prior to the 1X and add trail- 
ing zeros to make up 24 bits. The 
exponent E= - 1.) 

6d. If N is negative and the 
absolute value of N<1, then do 
one of the operations in Exam- 
ple 4. 

7. Convert the three groups 
of 8 bits to decimal (as an inter- 
mediary, if you wish) then to hex, 
ignoring the binary point. 

8. The exponent is 80 16 + E 16 . 
See Examples 5 and 6. 
After you have done this for a 

number such as 2.371256 x 
10 ~ 26 , you will wish there were a 
way to get the Apple itself to do 
the work. I thought the same 
way myself after I had to do sev- 



eral of them, so I wrote an Apple- 
Soft program to do it for me. 
(Ideally, it would be an assem- 
bly-language program, but 
that's a lot of work. And the Ap- 
plesoft program gives the an- 
swer in a few seconds.) 

This program accepts either 
decimal input and outputs the 
floating point format or accepts 
the floating point format and 
generates the decimal number. 
It runs in 5.8K, so if you only 
have Applesoft II on cassette, 
you'll need a 20K or larger ma- 
chine. The program is available 
on cassette for $7 ppd. 

There is one additional note. 
Just as Integer BASIC appropri- 
ates zero page for its use, so 
does Applesoft— so you cannot 
call these routines from Apple- 
Soft. You could shuffle data in 
and out of the registers preserv- 
ing their status before and after 
each call, or, as mentioned be- 
fore, you could reassemble the 
FP routines into RAM and have 



Number 


Floating Point 


Representation 


(Absolute Value) 


(Positive) 


(Negative) 





00 00 


00 


00 


00 00 00 00 


10 -10 


5E 6D 


F3 


7F 


5E 92 0C 81 


10 -5 


6F 53 


E2 


D6 


6F AC 1D 2A 


.01 


79 51 


EB 


85 


79 AE 14 7B 


.2 


7D 66 


66 


66 


7D 99 99 9A 


.25 


7E 40 


00 


00 


7D 80 00 00 


.75 


7F 60 


00 


00 


7F A0 00 00 


.9 


7F 33 


33 


33 


7F 8C CC CD 


1 


80 40 


00 


00 


7F 80 00 00 


2 


81 40 


00 


00 


80 80 00 00 


3 


81 60 


00 


00 


81 A0 00 00 


4 


82 40 


00 


00 


81 80 00 00 


5 


82 50 


00 


00 


82 B0 00 00 


6 


82 60 


00 


00 


82 A0 00 00 


7 


82 70 


00 


00 


82 90 00 00 


8 


83 40 


00 


00 


82 80 00 00 


9 


83 48 


00 


00 


83 B8 00 00 


10 


83 50 


00 


00 


83 B0 00 00 


10 5 


90 61 


A8 


00 


90 9E 58 00 


10 1 ° 


A1 4A 


81 


7C 


A1 B5 7E 84 


Table 4. Some floating point numbers. 


Note that the positive and 


negative numbers should add to zero, 


which they do. 



Step Number 


Result 






1. 




+ 12 






2. 




1100. 






6a. 




01.1 000000000000000000000 






E = 3 






7. 




01100000 


00000000 


00000000 






96 


00 


00 


8. 




Exponent 


= 83 




The 


number is 


83 60 00 00 when converted to hex. 




Example 5. 


Using + 


12. 









1 


Step 


Number Result 






1. 


-12 






2. 


1100. 






5. 


. . . 1111111110100 






6c. 


10.1 000000000000000000000 




E = 3 






7. 


01100000 


00000000 


00000000 




160 


00 


00 


8. 


Exponent 


= 83 




The i 


lumber is 83 A0 00 00 when converted to hex. 




Example 6. 


Using 


- 12. 



134 Microcomputing February 1980 



them use different zero page 
registers. There is room in zero 
page to do this with Integer BA- 
SIC, but precious little with Ap- 
plesoft. I haven't done it yet. 

Also, Applesoft does not use 
these routines for its own arith- 
metic. The reason for this is that 
Microsoft BASIC uses a five 
byte floating point number in 
order to obtain nine-digit preci- 
sion. This came along after the 
FP routines were written. Fur- 
thermore, the numbers are 
stored in those five bytes in a 
different format (ASCII) than 
that used by the FP routines. 

Conclusion 

The floating point routines 
are useful for the assembly-lan- 
guage programmer. There are 
special occasions when the dif- 
ficulty of their use is secondary 
to the advantage of an assem- 
bly-language program with 
seven digits of precision. 

This article has shown how to 
get the numbers into the re- 
quired format. (However, you 
should not try to use the rou- 



tines extensively without con- 
sulting the references on error 
branching and index register 
use.) Finally, Table 4 lists some 
floating point numbers for you 
to practice on with the algorithm 
and the routines. ■ 

References 

1. Roy Rankin and Stephen 
Wozniak, "Floating Point Rou- 
tines for the 6502," Interface 
Age, No. 12, pp. 103-111 (Nov. 
1976). 

2. Roy Rankin and Stephen 
Wozniak, "Floating Point Rou- 
tines for the 6502," Dr. Dobbs 
Journal, No. 7, pp. 17-19 (Aug. 
1976). 

3. Stephen Wozniak, "Floating 
Point Package," The WOZPAK, 
ch. 13, Apple Computer, Inc. 

4. Don Williams, "Linkage Rou- 
tines for the Apple II Integer BA- 
SIC Floating Point Package," 
Peeking at Call A.P.P.L.E., Vol. 
1 (Apple Puget Sound Program 
Library Exchange, 6708 39th 
Ave. SW, Seattle WA 98136). 

5. Arpad Barna and Dan Porat, 
Introduction to Microcom- 
puters and Microprocessors, 
John Wiley, 1976, pp. 34-44. 



BASF 
6106 




5.25 

FLOPPY DISK 
DRIVE 

• 40 Track, single or double 
density 

• Smaller size. Fit 3, 6106 
drives into the space of 2 • Track to track access 
SA 400 drives 



• Requires less power, 
generates less heat 

• Uses ball bearing friction 
free head positioner 



time: 12 MSEC. 

• Uses industry standard 
interface and power 
plugs, and mounting 
points. 



ALL THE ABOVE FEATURES AND MORE FOR ONLY 

$299.00 ea. 

FOR MORE INFORMATION CONTACT: 

OTTO ELECTRONICS 

P.O. BOX 3066. PRINCETON, NJ 08540 
^09 or call 609-448-91 65 

MC. VISA, COD accepted. NJ residents add 5% sales tax Shipping and insurance extra 



Call About our fantastic price on 

4-drlve complete system. 
■Level II 4K $557.10 

Level II 1 6K $750.00 

(w/o num. keypad) 

Expansion Interface $269.00 

Expansion Interface 1 6K $403.20 

Expansion Interface 32K $537. 30 

1 6K Memory Kit for TRS 80 or Apple 

$89.95 

TRS-80 & NORTH STAR ADD-ON DRIVES 




CUSTOM 
ENCLOSURE 




CABLE 
INCLUDED 



Shuoort SA 400 or DASF 6106 single drive system in custom enclosure $4 1 5.00 
Double drive system in custom enclosure $825.00 

DASF 6106 40 track, drive only $299.00 

Shugart SA 400 S315.00 

Seaman 8" drive $399.00 

HAZELTINE 1400. WHILE SUPPLY LASTS! (18 MONTH WARRANTY). . . . $649.95 
Centronics P1 printer (TRS-60 add-on) $396.95 

Centronics 779-2 tractor (TRS-80 add-on) $ 1049.95 

Tl printer $1599.00 

Horizon 1 Kit $1339.00 

Single tier walnut Formica enclosure for SA 400 or DASF drive $27.00 

Two tier walnut enclosure for SA 400 or DASF drive $45.50 

SPECIAL! Mini floppy disks, box of 10 (with plastic box) only $26.00 

Dox of 10. 8" disks $3.95 per disk 

Atari 400 $546.49 

Atari 800 $994.49 

• * MAIL ORDER ONLY * * 

INTERTUBE TERMINAL 
S784.00 



WE ACCEPT BANK AMERICARD, VISA, MASTER CHARGE 





29-02 23RD AVENUE ASTORIA, NEW YORK 11105 



Micro Computer Industries, Ltd 

1 532 EAST MULBERRY UNITH 
FT. COLLINS. COLO. 80524 



PHONE 303-221-1955 



CBM or PET Inventory Control 



Cassette version, 8K PET 



$39.95 



Disk version, 2500 items per drive with 
history and data base management. 
Writes purchase orders; sorts by 10 fields; 
no computer experience required. 

$100.00 
Accounts Receivable, 
disk version $40.00 

Instruction Manual $25.00 refundable 
with purchase. 

Complete system with 32K computer, 
2040 disk drive, 2022 tractor printer with 
inventory control $3585.00 




Dealer Inquiries Invited 



»^M111 




v* Reader Service index — page 241 



Microcomputing February 1980 135 



PROFESSIONAL B/W MONITORS 

Designed for industry.. .priced for the home. 






* to« 



»196« 



*<8§4 



*%*****, g^ , 



w^m 



video H 



I la:n 



The model 80 features an indus- 
trial grade metal cabinet with built- 
in disk mounting capability and 
space for an 1 1 " x 1 4" PC board for 
custom designed electronics. 

The solid state circuitry assures 
a sharp, stable, and trouble-free 
picture. The front panel controls 
include power, contrast, horizon- 
tal hold, vertical hold, and bright- 
ness. Adjustments for size, video 
level, and width are located on the 
rear panel. 

Rugged metal cabinet with disk 
space 

UNDER $200.00 



i/itJea H 



i i 



The video 100 computer moni- 
tors are ideal for all your personal 
and business needs. These highly 
reliable 12" black and white moni- 
tors feature a 12 MHz band width 
and 80 character by 24 line display. 
Plug-in compatability with Apple, 
Atari, Radio Shack, O.S.I., Micro- 
Term and Exidy make these the 
perfect text display for almost any 
system. 



Sturdy, lightweight plastic cabinet 

UNDER $150.00 



iWeo ma- 



-TTTI ******* 



VIDEO 100 AND VIDEO 100-80 SPECIFICATIONS 

12" diagonal measure display • Convenient front panel controls • Video bandwidth 12MHz ±3 DB 
• Input impedance 75 Ohms • 80 character by 24 line display • 90° deflection picture tube 

• Video 100-80 provides mounting space for mini floppy disk. 
• Resolution— Over 700 lines at center horizontally— over 350 lines at center vertically 



LEEDEX CORPORATION 



^L20 



2300 East Higgins Road • Elk Grove Village, Illinois 60007 • (312) 364-1180 • TLX. 25-4786 

Dealer discount available 



136 Microcomputing February 1980 



The VIP h 



• • • 



Start programming 



y computer: 

ng for only $99 




$ 99. 



New! VP 111 
Microcomputer . . 
Assembled* and tested. 

Features: 

• RCA 1802 Microprocessor. 

• 1 K Bytes static RAM. 
Expandable on-board to 4K. 
Expandable to 32 K Bytes total. 

• 51 2 Byte ROM operating system. 

• CHIP-8 interpretive language or 
machine language programmable. 

• Hexidecimal keypad. 

• Audio tone generator. 

• Single 5-volt operation. 

• Video output to monitor or modulator. 

• Cassette interface— 100 Bytes/sec. 

• Instruction Manual with 5 video game 
listings, schematics, CHIP-8, much more! 

Ideal for low-cost control applications. 

Expandable to full VIP capability with 

VP-114 Kit. 

*User need only connect cables (included), a 
5-volt power supply, and speaker. 



$ 199. 



New low price! 
The original VIP 
Completely assembled 
and tested. 

All the features of the VP-1 1 1 plus: 

• A total of 2K Bytes static RAM. 

• Power supply. 

• 8 Bit input port. 

• 8 Bit output port. 

• I/O port connector. 

• System expansion connector. 

• Built-in speaker. 

• Plastic cover. 

Three comorehensive manuals: 

• VIP Instruction Manual— 20 video 
game listings, schematics, much more. 

• VIP User's Guide— operating instruc- 
tions and CHIP-8 for the beginner. 

• RCA 1 802 User's Manual (MPM- 
201 B) - complete 1 802 reference guide. 



RC/I 



^R23 



COSMAC VIP lets you add 
computer power a board 
at a time. 

With easy-to-buy options, the versatile 
RCA COSMAC VIP means even more 
excitement. More challenges in 
graphics, games and control functions. 
For everyone, from youngster to serious 
hobbyist. 

Built around an RCA COSMAC micro- 
processor, the VIP is easy to program 
and operate. Powerful CHIP-8 inter- 
pretive language gets you into 
programming the first evening. 
Complete documentation provided. 

Send the coupon now . . . 

Complete the coupon below and mail to: 
RCA VIP Customer Service, New 
Holland Avenue, Lancaster, PA 1 7604. 

Or call toll free (800) 233-0094 

to place your Master Charge or VISA 
credit card order. In Pennsylvania, 
call (71 7) 397-7661 , extension 31 79. 



Please send me the RCA COSMAC VIP items indicated. □ VP-560 



Type Description Price 

□ VP-1 11 New low cost Microcomputer 

(See description above) $99 

D VP-114 Expansion Kit for VP-1 11— Includes 

3K RAM, I/O Port and connectors... $ 76 



□ VP-711 

□ VP-44 

□ VP-590 
D VP-595 

□ VP-550 



$ 36 



$ 69 



□ VP-570 

□ VP-580 



VIP— The original VIP Microcomputer 
(See description above) $199 

RAM On-Board Expansion Kit— Four 
2114 RAM IC's. Expands VP 71 1 
memory to 4K bytes 

VIP Color Board— Converts VIP to 
color. Four background and eight 
foreground colors 

VIP Simple Sound Board— Provides 
256 programmable frequencies. For 
simple music or sound effects. 
Includes speaker $ 30 

VIP Super Sound Board— Turns your 
VIP into a music synthesizer! Two 
independent sound channels. On- 
board tempo control. Outputs to 
audio system 

VIP Memory Expansion Board— 
Plug-in 4K RAM memory. 

VIP Auxiliary Keypad— Adds two- 
player interactive capability. 1 6-key 
keypad with cable. Connects to 
sockets on VP-590 or VP-585 



VIP EPROM Board— Interfaces two 
2716EPROMstoVIP 

□ VP-565 VIP EPROM Programmer Board- 

Programs 271 6 EPROMs. 

With software 

□ VP-575 VIP Expansion Board— Provides 4 

buffered and one unbuffered 
expansion sockets 

□ VP-576 VIP Two-Board Expander— Allows 

use of 2 Accessory Boards in either 
I/O or Expansion Socket 

□ VP-601 ASCII Keyboard— 1 28-character 

ASCII Encoded alphanumeric 
keyboard 



$ 34 



$ 99 



$ 59 



$ 20 



$ 65 



□ VP-611 ASCII/Numeric Keyboard— Same 

as VP-601 plus 1 6 key numeric 

keypad $ 80 

D VP-620 Cable: Connects ASCII keyboards 

to VIP $ 20 

□ VP-700 VIP Tiny BASIC ROM Board— BASIC 

code stored in 4K of ROM $ 39 

D VP-710 VIP Game Manual— Listing for 16 

exciting games $ 10 

□ VP-720 VIP Game Manual-ll— More exciting 

games (Available 2nd qtr. '80) $ 10 

□ MPM- CDP1 802 User Manual— (Included 
201B with VP-711): $ 5 

□ Please send more information — 



Enclosed is $ for items checked plus shipping & handling charge of $3.00. 

Add your state and local taxes $ Total enclosed $ 

I enclose □ check orD money order or, charge my □ VISA/Bank Americard 

□ Master Charge. 

Credit card account No. 



$ 49 
$ 95 



$ 20 



Master Charge Interbank No 

Signature (required for credit card orders): 

Name (please type or print): 

Street address: 

State & Zip: 



.Expiration date:. 



City: 

Telephone: ( 



) 



□ VP-585 VIP Keypad Interface Board— Inter- 
faces two VP-580 Auxiliary 
Keypads to VIP $ 15 



Make checks payable to RCA Corp. Prices and specifications are subject to change 
without notice. 



v* Reader Service index— page 241 



Microcomputing February 1980 137 



A Simple 2708 

EPROM Programmer for 

the Motorola D2 Kit 



Add 2K of firmware using a handful of components that fit right on the D2 board. 



Frank W. Summers 
Motorola Microsystems 
514 E. Carmen St. 
Tempe AZ 85283 

Add up to 2K bytes of pro- 
grammable memory to your 
Motorola MEK6800-D2 kit with 
this simple, low-cost 2708 
EPROM programmer. Requiring 
only three transistors, six resis- 
tors, four capacitors and two 
switches, it can be assembled 
right on the D2 kit printed cir- 
cuit board for approximately $7. 

The reason for using the 2708- 
type EPROM is simple— its cost. 
The newer, larger, single supply 
EPROMs are too expensive for 
most home computer users. The 
2708 type (with its + 5V, +12V 
and —5 V requirement) is avail- 
able to the hobby user for less 
than $10. The fact that the D2 
kit has two EPROM sockets 
available for 2708s makes this a 
natural matchup. Just think, 
you can buy a D2 kit and add 
this programmer for less than 
the cost of many programmers 
alone! 

Don't worry about investing 
in an expensive ultraviolet 



EPROM eraser, because most 
local computer stores offer this 
service for a small fee. If this 
isn't convenient, you can build 
an EPROM eraser for less than 
$20 using a germicidal lamp 
(G.E. #G8T5) and a suitable fix- 
ture. If you try this be sure to 
follow the precautions that 
come with the lamp about ex- 
posure to ultraviolet radiation. 

Circuit Description 

Only a brief description of 
the circuit is offered because it 
is simple. The +27 V for the 
programming pulse is supplied 



EPROM 
SOCKET 
PIN 19 



5I0 




UNSWITCHED 
♦ I2V 



5IO 



IN270 




EPROM 
SOCKET 
PIN 20 



Fig. 1. Optional LEDs to indi- 
cate Power On and Write mode. 



from three 9 V batteries con- 
nected in series. Since the cur- 
rent required from these batter- 
ies is only 20 mA and only dur- 
ing the actual programming of 
a device, the shelf life of the 
batteries will probably deter- 
mine their usage. The power 
switch (S1) will remove the +5 
V and -»- 12 V from the EPROM 
socket and disconnect CB2 of 
PIA U21. When the EPROM 
socket is empty and S1 is off, 
there is nothing connected to 
the PIAs so they can be used 
for other applications. 

The read/write switch (S2) ap- 
plies ground to pin 20 (CS/WE) 
and removes the ground from 
the +27 V source when in the 
read position. When in the write 
position pin 20 (CS/WE) is pulled 
up to + 12 V through a 10k re- 
sistor (R1) and the ground is ap- 
plied to the + 27 V source. This 
allows programming pulses to 
be applied to pin 18 (PROG) 
through transistor Q1 as con- 
trolled by CB2 of the PIA (U21 of 
the D2 kit). 

The two 100 Ohm resistors 
(R4 & R5) balance the base drive 
to Q2 and Q3. The 10 Ohm resis- 



tor (R6) and the .005 uF capaci- 
tor (C4) limit the rise-and-fall 
time of the + 27 V programming 
pulse to the EPROM. All data to 
and from the EPROM is through 
the B side of the user PIA (U20 
of the D2 kit). The addressing 
for the EPROM is from the A 
side of the user PIA (U20 of the 
D2 kit), plus CA2 and CB2 for 
address lines A8 and A9, re- 
spectively. 

Programming 

The software to operate the 
programmer requires 375 bytes 
of memory and supplies these 
four functions: 

1. PROGRAM— programs the 
EPROM from the memory loca- 
tions specified. 

2. VERIFY — compares the 
EPROM with, the memory loca- 
tions specified. 

3. DOWNLOAD— copies the 
EPROM into the RAM locations 
specified. 

4. ERASED?— checks that the 
specified EPROM locations are 
erased. 

The only inputs required for 
all of these operations are: (1) 
starting memory address, (2) 



138 Microcomputing February 1980 



ending memory address and (3) 
EPROM address offset. Once 
these parameters are entered 
they will remain the same until 
changed by the user. 

When any function is started 
these addresses are checked 
for proper range. The function 
is stopped and error message 
EO is displayed if the difference 
between the ending and start- 
ing address is greater than 1024. 
If adding the EPROM offset to 
this difference exceeds 1024, 
error message E1 is displayed; 
error message E2 indicates that 
the EPROM address tried to ex- 
ceed 1024 while the program 
function was executing. 

Obviously this should never 
happen unless the programmer 
program itself bombs. Error 
message E3 indicates that the 
EPROM and specified memory 
locations didn't agree during 
the VERIFY function. Error 
message E4 indicates an un- 
erased location was found in 
the specified EPROM locations 
during the ERASED function. 
The return of the JBUG prompt 
"-" to the display means the des- 
ignated function has completed 
with no errors. 

A programming pulse of one 
millisecond duration is applied 
for each EPROM address to be 
programmed. If less than 1024 
locations are being pro- 
grammed, enough delay is add- 
ed to simulate programming 
the entire device. This routine is 
repeated 100 times to give each 
location a total of 100 millisec- 
onds programming time. This 
limits the duty cycle of any one 
location as specified in most 
manufacturers' data books. 

The programming time will 
be about two minutes whether 
programming 1 byte or 1024 
bytes. This feature allows you 
to safely program an EPROM in 
short blocks, adding routines 
or entire programs as desired 
without erasing and reprogram- 
ming the entire device each 
time. Also, you can safely pro- 
gram the entire EPROM from a 
small RAM area by putting each 
successive block of code in 
RAM and programming the ap- 
propriate block of EPROM. 

Another safety feature is that 
the D2 kit's keyboard is dis- 
abled while programming to 



avoid the possibility of the es- 
cape key being pressed and 
leaving the +27 V applied to 
the EPROM. 

The delay routine is for a sys- 
tem clock frequency of 614.4 
kHz. If your system has a differ- 
ent clock frequency, the num- 
ber of counts in the delay loop 
will have to be adjusted accord- 
ingly. (Change location $00A9 
to$A6for 1 MHz.) 

Test Procedure 

So now you have the 2708 
programmer circuit added to 
your D-2 kit and the software 
typed in. Before you do any- 
thing else you should save the 
program on tape. That done, 
you can use the following test 
procedure to verify the circuit 
and the program before plug- 
ging an EPROM into the socket. 
All you will need is a VOM, a 
watch with a second hand and 
a 2708 EPROM. 

First check that the -5 V is 
on pin 21 of the EPROM socket. 
Then check for the +12 V on 
pin 19 and + 5 V on pin 24 . . . 
make sure they are switchable 
with 81. Pin 20 should have 
+ 12 V when the read/write 
switch is on write and V when 
in the read position. To check 
the +27 Von pin 18 the program 
will have to be temporarily 
changed. Change location $0035 
from $8D to $3E. This is the WAI 
(wait for interrupt) instruction 
and will stop program execution 
at this point. 

With the power switch on 
and the read/write switch set to 
write, the voltage on pin 18 
should be V. Referring to the 
operating instructions, start 
the PROGRAM mode with the 
first, last and EPROM offset ad- 
dresses set to $0000. The volt- 
age on pin 18 should now be be- 
tween + 25 V and + 27 V. Switch 
back to read, and the voltage on 
pin 18 should drop to V. Hit re- 
set, restore location $0035 to 
$8D and turn the power switch 
off. 

Now you will need some 
known data patterns to write to 
the EPROM socket for verifica- 
tion. Starting at location $0178 
store $FF, $00, $55 and $AA. 
Set the first address to $0178 
and the last address to $01 7B. 
You are now set up to simulate 



yio. 



PIN NO 2 
3 



PA0 



PA I 



4 — 

5 — 



PA 2 



PAS 



PA4 



7 ♦ 



PAS 



PA6 



PA 7 



8 
9 
39—^ 



19 ♦ 

GND «• 



CB2 



T 



I2 



22 



23 



8 



Vss A9 A8 A7 A6 A5 A4 A3 A2 A I A0 

SOCKET FOR PR0G 

2708 EPROM _ 

CS/WE 

0(8 Ol 02 D3 D4 D5 06 D7 VBB VCC VDD 



U20_ 



PIN NO.IO — 



PB0 



IO 



11 — 

12 — 



PBI 



II 



PB2 



13 



13 — 

14 ♦ 

15 ♦ 



PB3 



14 



PB4 



PB5 



I6 



16 — 

17 — 



PB6 



I7 



PB7 



21 



-5V «— 

♦ 5V «— 

♦ I2V — 



U2I PIN 19 



CB2 



SI 



24 



CI 



I9 



C2 



IB 



20 



C4 




READ 



THREE 9V 
BATTERIES 



WRITE 



1- 



C3 




Fig. 2. Schematic of 2708 EPROM programmer for D2 kit. 



programming these four bytes 
to the first four locations of the 
EPROM. 

Set a breakpoint at $0030 and 
start the PROGRAM mode. All 
address lines of the EPROM 
socket should now read a logi- 
cal level (less than 0.5 V). All 
data lines should read a logical 
1 level (more than 3.0 V). Contin- 
ue program execution to the 
breakpoint again by typing E 
then G. Now address line A0 
should read a 1 level; A1 through 
A9 should read a level; and 
the data lines should all read a 
level. Type E and G again and 
you should read a 1 level on A1, 
a level on all other address 
pins, and the data lines should 
be alternate 1s and 0s (D0 = 1, 
D1 =0, etc.). 

Continue once more to the 
breakpoint and the results 



should be: A0 and A1 at a 1, all 
other address lines at 0, and the 
data lines alternate 0s and 1s 
(D0 = 0, D1=1, etc.). That's it 
for the data lines. Hit E, set the 
EPROM address offset to $01 55 
and start the PROGRAM mode 
again. The address lines at the 
EPROM socket should now be 
alternate 1s and 0s (A0 = 1, 
A1=0, etc.). Push E, set the 
EPROM address offset to $02AA 
and start the PROGRAM mode 
again. The address lines should 
now be alternate 0s and 1s 
(A0 = 0, A1 =1, etc.). Clear the 
breakpoint and hit reset. 

You can make a check of the 
loop counter by setting a break- 
point at $0068 and executing 
the PROGRAM mode. Now push 
the E key and the G key 100 
times. This should cause the 
"-" to appear on the display in- 



Q„ Q„ 


Q3 


2N4401 or equivalent 


S, 




3PST toggle switch 


S 2 




SPDT toggle switch 


C|, C 2 , 


c 3 


.1 uF, ±20% ceramic capacitor 


c 4 




.005 mfd, ±20% ceramic capacitor 


Ri> R2» 


R 3 


10k Ohm, ± 10% 1/4 Watt carbon resistor 


R4» R5 




100 Ohm, ± 10% 1/4 Watt carbon resistor 


R 6 




10 Ohm, ± 10% 1/4 Watt carbon resistor 


MISC. 




24-pin socket for EPROM, three 9 V batteries, 
battery clips and battery holders. 

Parts list. 



Microcomputing February 1980 139 



dicating that the program has 
completed executing. Clear the 
breakpoint and push reset. 

Now that you know the loop 
counter is operating correctly, 
you can verify the delay loop 
that sets the pulse width of the 
+ 27 V programming pulse by 
timing the execution of the 
PROGRAM mode with your 
watch. With the first, last and 
EPROM offset addresses set at 
$0000, execution of the PRO- 
GRAM mode should take about 
one minute and 25 seconds. 
Change the last address to 
$03FF (1024) and execution time 
should be about two minutes. 

The next text can be per- 
formed using the DOWNLOAD 
function and an EPROM with a 
known program or an erased 
one. First clear memory loca- 
tions $0177 through $017F by 
storing $00 to each location. 
Set the first address to $0179 
and the last address to $01 7C. 
Plug the EPROM in, turn power 
on and execute the DOWN- 
LOAD function. 

When the "-" returns to the 
display, read locations $0177 
through $017F. Locations 

$0179-$017C should contain the 
first four bytes of the program 
in the EPROM ($FF if erased). 
Locations $0177, $0178, $01 7D, 
$017E and $017F should still 
contain $00. Now run the VERI- 
FY function without changing 
anything, and the "-" should re- 
turn indicating that EPROM 
and RAM contents for those 
four locations match. If you 



have a 2708 with a known pro- 
gram, try a different EPROM ad- 
dress offset and see that the 
correct data appears in $0179- 
$01 7C. 

If everything works so far you 
are on your way. It is left up to 
you to try illegal addresses and 
to check the ERASED function. 

Operating Instructions 

A. To program an EPROM: 

1. The program to be put in E- 
PROM must be in memory at a 
location other than that where 
the PG2708 program is. 

2. Load PG2708 from cassette 
(if not in EPROM). 

3. Reset. 

4. Load the first address of 
your program at $A032-3. 

5. Load the last address of 
your program at $A034-5. 

6. Load the EPROM address 
offset $A036-7. 

7. Make sure the EPROM power 
switch is off and the Read/Write 
switch is on read. 

8. Plug the 2708 into the pro- 
grammer socket. 

9. Turn the EPROM power 
switch on. 

10. Turn the Read/Write switch 
to write. 

11. Type 0000G to execute the 
PROGRAM function. 

12. When the"-" returns to the 
display, push Reset and then 
turn the Read/Write switch to 
read. 

13. Type 0003G to VERIFY that 
the EPROM was programmed 
correctly. 

14. Turn the EPROM power 



switch off and remove the 2708. 

B. To download an EPROM 
to RAM: 

1. Load PG2708 from cassette 
(if not in EPROM). 

2. Reset. 

3. Load the first RAM address 
at $A032-3. 

4. Load the last RAM address 
at $A034-5. 

5. Load the EPROM address 
offset at $A036-7. 

6. Make sure the EPROM power 
switch is off and the Read/Write 
switch is on read. 

7. Plug the 2708 into the pro- 
grammer socket. 

8. Turn the EPROM power 
switch on. 

9. Type 0006G to execute the 
DOWNLOAD function. 

10. Turn the EPROM power 
switch off and remove the 2708. 

C. To verify that EPROM and 
memory agree: 

1. Load PG2708 from cassette 
(if not in EPROM). 

2. Reset. 

3. Load the first memory ad- 
dress at $A032-3. 

4. Load the last memory ad- 
dress at $A034-5. 

5. Load the EPROM address 
offset at $A036-7. 

6. Make sure the EPROM power 
switch is off and the Read/Write 
switch is on read. 

7. Plug the 2708 into the pro- 
grammer socket. 

8. Turn the EPROM power 
switch on. 

9. Type 0003G to execute the 
VERIFY function. 

10. The "-" returns to the dis- 



Program listing. 



oooo I 

00002 A OOOO 

00003 

00004 

OOOOb 

00006 

0000/ 

OOOO 8 

0000 9 

000 I 

000 I I 

00012 

000 IJ 

000 I 4 

000 lb 
00016 

0001 / 

000 1 8 
000 IV 
00020 

0002 1 
000 <> 2 
000^3 
00024 
0002 b 
00026 
000 <> 7 

0002 b 
00029 
00030 

0003 1 
00032 



TTL MCM2/08 ERROM RROGRAMMhR hOR D-2 * RE^. 2.^ 

ORG $0000 
***************************************************** 
* 

***** MCM2/08 EPROM PROGRAMMER BY FRANK SUMMERS ***** 
* 

***************************************************** 
* 

* NO FUNCTIONAL CHANGES THIS REVISION. 

* CORRECTED LOCATION COUNTER INITIALIZATION. 
* 
***************************************************** 

* THIS ROUTINE WILL PROGRAM THE MOTOROLA MCM2/08, 

* MCM68/08, OR MOST OTHER 2/08 TYPE EPROMS ON A 

* MOTOROLA MEK6B000-2 SINGLE HOARD COMPUTER ( L>2 KID 

* 

* 3/5 BiTES OF MEMOR/ IS REQUIRED FOR THIS PROGRAM. 

* 

* THE SIMPLE EPROM PROGRAMMER CIRCUIT (ATTACHED) 

* CAN BE ASSEMBLED ON THE U-2 KIT PCB OR CAN BE 

* BUILT SEPARATELY AND CONNECTED fill'H A CABLE. 

* 

* NOTE THAT THE 2/08 REQUIRES +bV, *I2V, l •*>¥, 

* 

* THE *2/V PROGRAMMING PULSE IS SUPPLIED B1 I HREF 

* VV BATTERIES. 

* 

* 100 2 /V PULSES OF ONE MSEC DURATION ARE APPLIED 

* FOR EACH EPROM ADDRESS TO BE PROGRAMMED. 

* 

* THE KEYBOARD IS DISABLED TO PREVENT ACCIDENTALLY 

* HITTING "ESCAPE" & LEAVING THE +27V APPLIED. 



play if the EPROM and memory 
agree. 

11. Turn the EPROM power 
switch off and remove the 2708. 
D. To check that a designat- 
ed section of the EPROM is 
erased: 

1. Load PG2708 from cassette 
(if not in EPROM). 

2. Reset. 

3. Load a first* memory ad- 
dress at SA032-3. 

4. Load a last* memory ad- 
dress at $A034-5. 

*(These can be any block of 
memory— they are used only to 
determine how many EPROM 
locations to check.) 

5. Load the EPROM address 
offset at $A036-7. 

6. Make sure the EPROM power 
switch is off and the Read/Write 
switch is on read. 

7. Plug the 2708 into the pro- 
grammer socket. 

8. Turn the EPROM power 




INITIALIZE 
PI A a LOOP 
COUNTER 




POINT 

STARTING 

ADDRESSES 


YES ^» 








"""eprom^' 


1 


^NO 


RANGE 


READ RAM 
WRITE TO 
EPROM 






1 




APPLY 

PROGRAM 

PULSE 








^last^n 

ADDRESS 


INCREMENT 

ADDRESS 

POINTERS 





YES 




DUMMY 
DELAY 



DECREMENT 

LOOP 

COUNTER 




Fig. 3. PROGRAM mode flow- 
chart. 



140 Microcomputing February 1980 



switch on. 

9. Type 0009G to execute the 
ERASED? function. 

10. The "-" returns to the dis- 
play if the designated EPROM 
locations are erased and ready 
for programming. 

11. Turn the EPROM power 
switch off and remove the 2708. 

Two or more of these func- 
tions are usually used together. 
For example, to copy an exist- 
ing 2708 you will first DOWN- 
LOAD it into RAM, VERIFY that 
it is stored correctly, check that 
the new 2708 is ERASED, PRO- 
GRAM the new 2708 and finally 
VERIFY that the program is in 
the new 2708. All of these oper- 
ations can be performed after 
the address information is 
loaded only once. You should al- 
ways use VERIFY immediately 
after a DOWNLOAD or a PRO- 
GRAM operation. Also, you 
should always check that an 
EPROM is ERASED before try- 
ing to PROGRAM it. (Even new 
EPROMs are not always 
erased!) 

Error Messages 

If E0 or E1 appears on the dis- 
play (indicating out of range ad- 
dresses), check the first, last 
and offset addresses at $A032- 
$A037. E0 means the last ad- 
dress minus the first address is 




DISP 
ERROR 
.MESSAGE 



INITIALIZE 
PIA 



POINT TO 
STARTING 
ADDRESSES 



READ RAM 
READ EPROM 



NO 




DISP 
ERROR 
^.MESSAGE 

[3) 



INCREMENT 

ADDRESS 

POINTERS 



Fig. 4. VERIFY mode flowchart. 



00033 
000 J 4 
0003 b 
00036 
0003/ 
00038 

0003 V 

0004 
0004 I 
00042 
00043 
000 44 
00045 
00046 
0004/ 

0004 V 
OOO 1 j0 
00051 
000^2 
000 b 3 
00054 

00055 
OOO06 
0005/ 
000 1> 8 

0005 V 
00060 

0006 I 
00062 
00063 
00064 
0006b 
00066 
0006/ 
0006b 
0006V 
000/0 
000 / I 
0OO/2 
000/3 
000/4 
OOO/b 
OO0/6 
000 / / 
000/8 
000 /v 
00080 
00081 
00082 
00083 
00084 
00065 
00086 
0008 / 
00088 
0008 V 
OOOVI 
000V2 
OOOV 3 
OOOV 4 
000V5 
000V6 
OOOV / 
OOOVH 
000 V9 

00 I 00 

001 01 
00102 
00103 
00104 
00105 
O0I06 
00 1 / 
00108 
00 1 OV 
001 10 
OOI I IA 
001 I 2A 
001 I 3A 

00 I I 4 A 

001 15 
00 II 6 

00 II / 

001 18 
001 IV 
001 20A 
00 I 2 I A 
001 22 A 

0012 3A 
00I24A 
OOI25A 
001 26A 
OOI27A 
00I28A 
00I2VA 
00I30A 

00 I 3 I A 

001 J2A 
00 I 33 A 
001 J4A 
OOI35A 
001 36A 

0013 /A 
00I38A 
00I3VA 
00I40A 

00 1 4 I A 
001 42A 
00I43A 

001 44 
00146 
00 1 4 7 
00148 
001 4VA 
001 50A 
(X) I 5 I A 
00lb2A 
00I53A 
00I54A 
001 t>5A 



0000 /b. 

OOOJ /b 

0006 /b 

OOOV /b 



OOOC 
000b 
001 I 
0014 
001 / 

001 A 
00 I C 
OOlb 
0022 
0025 
0028 

002 B 
0020 
0030 
0032 
0035 
0037 

003 V 
003 C 

003 b 

004 1 
0042 
0044 
004/ 



004V 
004C 

004 b 
0052 
0055 
0058 

005 A 



BU 
80 
8 b 
F6 
b/ 
80 
86 
87 
CE 
bF 
FE 
A6 
B/ 
86 
87 
80 
86 
B/ 
BC 
27 
08 
8D 
BD 
20 



7b 

7 b 
CE 
bF 
FF 
86 
87 



H004 
d005 
d006 
800/ 
8)2 3 
bOHU 
EObb 
AOOC 
A032 
A034 
A036 
A038 
A03A 
A0J8 



OOOC 
0104 
01 I / 
0128 



00b V A 
38 004V 
AO/8 A 
A036 A 
A03B A 
54 0070 
A03/ A 
800 4 
0400 
A038 
A032 
00 

d006 
34 

8023 
/I OOAd 
X A 
802 J A 
A034 A 
ID 005E 

6A OOAb 
00 BV A 
E2 002B 



8005 

800/ 

bb34 

8004 

8006 

64 

A03A 



A 
A 
A 
A 
A 
A 
A 



* IF LESS THAN 1024 LOCATIONS ARE BEING PROGRAMMED 

* ENOUGH DELAY IS ADDED fO KEEP THE 0111/ CYCLE 

* LOW TO EACH LOCATION PROGRAMMED. 
• 

* THE FOUR MODES OF OPERATION AREi 

* I. PROGRAM ($0000) PROGRAMS THE EPROM FROM RAM. 

* 2. VERIFY ($0003) VERIblES THAT EPROM * RAM AGREb. 
* 

* 3. DOWNLOAD ($0006) READS EPROM INTO RAM. 
• 

* 4. ERASED ($000V) VERIFIES THAT EPROM 15 ERASED. 

********** OPERAIING INSTRUCTIONS *********** 
* 

* CAUTION! 1HE READ/WRITE SWITCH SHOULU 4E LEFT IN 

* THE READ POSITION EXCEPT WHEN ACIUALL/ PROGRAMMING 

* AN EPROM. LEAVING IN WRITE WILL OISCHARGE BATTFRIES. 
• 

* I. LOAD STARTING RAM ADDRESS AT SA032-3. 

* 2. LOAD LAST RAM ADDRESS AT SA034-5. 
* 

* 3. LOAD EPROM ADDRESS OFbSET AT $A036-/. 
* 

* 4. INSERT EPROM & TURN POWER SWITCH ON. 
* 

* 5. SET SWITCH TO WRITE b'OR PROGRAMMING ONLY! 
* 

* 6. DOUBLE CHECK ADDRESSES BEbORb PROGRAMMING! 

* /. START DESIREO OPERATION. 
* 

* 8. THb JBUG PROMPT WILL RETURN WHEN FINISHED. 

* (PROGRAMMING TAKES 1.5 TO 2 MINUTES) 
* 

* V. HIT REbET 4 SWITCH To READ. 
* 

************** ERROR MESSAGES *************** 
* 

* EO = RAM ADDRESS RANGE GREATER THAN 1024. 

* (SELECTED FUNCTION NOT ATTEMPTED) 
* 

* El = RAM ADDRESS RANGE ♦ EPROM ADDRESS 

* OFFSET GREATER THAN 1024. 

* (SELECTED EUNCTION NOT ATTEMPTED) 
* 

* E2 = bPROM ADDRESS OVEHRANGb WHILb PROGRAMMING. 

* (SELECTED FUNCTION ABORTED WHEN OVERRANGE OCCURRED) 
* 

* E3 = EPROM ANO RAM DIU NOT AGREE DURINJ VERIFY. 
* 

* E4 = DESIGNATED EPROM LOCATIONS NOT ERASED. 



A 
A 
A 
A 



*********** 
* 

PIADRA EOU 

PIACRA EOU 

PIADRB EOU 

PIACR8 EOU 

PR(XJ EOU 

JBUG EOU 

OUTUS EOU 

DISBUb EOU 

ST ADR EOU 

ENUADH EOU 

ObbSET bOU 

LOCCTR EOU 

LPCTR hOU 

TEMPOS EOU 



***** EOUATES ******************** 



$8004 LSB OF EPROM ADDRESS 

$8005 CA2 = EPROM ADDRESS LINE A8 

$8006 DATA TO & bROM bPROM 

$800/ CB2 = EPROM ADDRESS LINE AV 

$4023 CH2 = *2 7V PROGRAM PULSE CONTROL 

SbOBD JdUG REENTRY POINT 

$EOEE JBUG DISPLAY ROUTINE 

$AOOC JBUG DISPLAY BUbbcR 

$A032 STARI ADDRESS 

$A034 END ADDRESS 

SA036 EPROM ADDRESS ObbSET 

SA038 LOCATION COUNTER 

SA03A LOOP COUNTER 

$A03B TEMPORY STORAGE FOR ObFSbT 



**************** JUMP TAdLb ***************** 

* 

JMP PROGM PROGRAM MODE 

JMP. VERIFY VbRlbY MODE 

JMP ONLOAD DOWNLOAD MODb 

JMP ERASED ERASED? MODE 

* 

* 

*********** PROGRAM ROUTINE ***************** 



* 
PROGM 

START 



NEXT 



JSR 

BSR 

LDS 

LDAB 

STAB 

BSR 

LDAA 

bTAA 

LDX 

SIX 

LDX 

LDAA 

STAA 

LDAA 

SI AA 

BSR 

LDAA 

STAA 

CPX 

HEO 

INX 

BSR 

JSR 

BRA 



TbST 

ini r 

#$A078 

ObbSET 

1EMP0S 

EORMAT 

OFFSET* I 

PIADRA 

#$4 00 

LOCCTR 

STADR 

0,X 

PIADRB 

#$34 

PROG 

DELAY 

#$3C 

PROG 

END ADR 

TSTLOC 

INCROM 
DECLOC 
NEXT 



1024 



CHECK A DDR b So RANGbS 
INI TMLIZE PIA 
RESTORE STACK POINTER 
MSB EPROM ADDRESS 
SAVE IT 

FORMAT I T FOR PIA 
LSB EPROM ADDRESS 



SETS LOCATION COUNTER = 
POINT TO START ADDRESS 
READ RAM BYTE 
WRITE BYTE TO EPROM 



APPLY 27V PULSE, NM I DISAHLED 
ONE MSEC DELAY 

REMOVb 2 7V PULSE, NM I DISAHLED 

LAST ADDRESS? 

CHECK LOCATION COUNTER 

POINT TO NEXT ADDRESS 

INC EPROM ADDRESS 

DEC LOCATION COUNTER 

GO DO NEXT ADDRESS 



******** PROGRAM MODE SUBROUTINES ******** 

* 

I NIT 



A SIDE OUTPUTS, CA2»0 
8 SIDE OUTPUTS, CB2»0 



CLR 


PIACRA 


CLR 


PIACRB 


LUX 


#$b>34 


STX 


PIADRA 


srx 


PIADRB 


LDAA 


#$64 


STAA 


LPCTR 



SETS LOOP COUNTER 



100 



Microcomputing February 1980 141 



00IS6A 
OOIr>7 
OOlbd 
OOI-jVA 
00 I 60A 
00 I 6 I A 
00I62A 
00I63A 

00 I 64 A 

00 1 6b A 
001 66 
00 I 6 / 
00I68A 
00I69A 
001 70A 

00 I / I A 

001 /2A 
001 /3A 
001 MA 
001 75A 
001 V6A 
OOI I IK 
001 78A 
001 /VA 
00 I BOA 
00 I 8 I A 
00I82A 
0OI83A 
00I84A 

00 HO A 
00IO6A 

00 1 a I A 
001 38 A 
OOIHVA 

oo i yoA 

00 I V I A 
001 92 A 
OOIVJA 
001 V4A 
OOI9b 
00196 
(JO I V 7 A 

001 >>8A 
001 9VA 
00 200 A 
00201 

00203 

00204A 

0020bA 

00206A 

0020 7 A 

00208A 

0020V 

00210 

002 I I A 
002 I 2A 
0021 3A 
002 I 4 A 
002 I bA 
002 I 6A 

0021 /A 
00218 
002 19 
00220A 

0022 1 A 
00222A 
00223 
0022 4 
0022 b A 
00226A 
0022/ 

0022 8 
00229A 
00230A 

0023 1 A 
00232 
00233 
00234A 
002JbA 
00236A 
002J/ 
00238 
00239A 
00240A 

0024 I A 
00242 
00243 
002 44 A 
0024bA 
00246A 
0024 /A 
00248A 
00249A 
002b0A 
002b I A 
00252A 
002b 3 A 
002b4A 
002bb 
002 b 6 

002b8 

002b9 

00260 

0026 1 

00262 

0026 3 A 

00264A 

0026bA 

002 66 A 

0026 7 A 

00268A 

00269A 

002 /OA 

002/1 A 

002/2 

002/3 

002/4 

002 /b 

002 76 



OObO JV 



OObE tU 
0061 26 
006 3 /O 
0066 26 
0068 /A 
0068 26 
0060 /E 



00/0 
00/3 
00 /b 
0076 
00/8 
00/9 
00/8 
00 7C 
00 /E 
0080 
00M2 
008b 
0088 
0089 
0088 

008 b 
0090 

009 J 
0094 
0096 
0099 
0098 
009E 
009 h 
OOAI 
00 A 4 
OOA/ 



00 AH 
0081 
0083 
00B4 
0087 



0089 
00 BC 
008 h 
OOBF 
00C2 
00C4 
OOC/ 



OOC8 
OOC A 
00 CC 



OOCE 
OOUI 



00U3 
OOUb 
OODd 



OOUA 
OOUC 
OODF 



OOEI 
00E3 
00E6 



00E9 
OOEC 
OOEF 
00F2 
OOFb 
OOF/ 
OOF 9 
OOFC 
00 FF 
0101 
OIOJ 



104 
0106 
0108 
0108 
0100 

01 10 
01 12 
01 13 
01 lb 



F6 
2/ 
bA 
27 
bA 
2/ 
bA 
2/ 
20 
C6 
F/ 
F7 
3v 

06 
F/ 
C6 
F/ 
39 
C6 
f-/ 
C6 
F7 
19 
C6 
h/ 
F7 
39 



A038 A 
6b 00C8 
A039 A 
60 00C8 
A03A A 
A4 001 I 
H08D A 



A03 8 A 
08 0080 

I I 0089 

19 0094 



* 

rsrLoc 



DECLR 



* 
FORMAT 



21 

bA 

34 

800b 

800/ 



009 F 

OOOA 

A 

A 

A 



30 

800 b 
34 
800/ 

34 

800b 

3C 

800/ 



3C A 
800b A 
8O0 / A 



SETO 



bETI 



SET2 



SET3 



OOA8 86 
OOAA 4A 
00A8 26 
OOAU 39 



80 

A6 

81 

26 

BC 

2/ 

08 

8D 

20 



* 

* 
66 A OELAY 

DLr* 
FO OOAA 



/C 
2 7 
39 
/C 
20 



8004 A 
01 0084 

A038 A 
8/ 0070 



* 
INCROM 



/A A039 A 

27 01 OOBF 

39 

/O A038 A 

2 7 A4 0068 

/A A038 A 

39 



80 EF 00 B9 
80 OC 00A8 
20 90 OObE 



/F AO I I A 
20 OH 00 hi 



86 01 A 
B7 AOI I A 
20 0/ OOEI 



86 02 A 
B7 AOI I A 

20 00 OOEI 



86 OE A 

87 AOI A 
/E EOFE A 



86 A03b A 
F6 A034 A 
BO AO 33 A 
F2 A032 A 
CI 04 A 
24 Db OOCE 
88 A03/ A 
F9 A036 A 
CI 04 A 
24 00 0003 
39 



INCMSB 

* 

UECLOC 



DECMSB 



* 
UEC 



* 

EO 

* 

El 



* 
* 
E2 



* 
EHROR 



* 
* 
TEST 



KfS 



TST 

BNE 
TST 
BNE 
OEC 
BNE 
JMH 



LUAB 

BEO 

OECB 

BEO 

OECB 

BEO 

DECB 

BEO 

8RA 

LOAB 

STAB 

3TAB 

hts 

LOAB 

bTAB 

LOAB 

STAB 

RTS 

LOAB 

STAB 

LOAB 

aTAB 

HTS 

LOAB 

sTAB 

STAB 

RTS 



LOAA 
OECA 
BNE 

hts 



INC 
BEO 

urs 

INC 
BRA 



OEC 
BFO 

rts 
rsT 

BEO 
OEC 
RTS 



BSH 

BSH 
HHA 



CLH 
8RA 



LOAA 
3TAA 
BRA 



LOAA 
STAA 
BRA 



LOAA 
STAA 

JMH 



LDAA 

LDAB 

SUBA 

SBCB 

CMRB 

BCC 

ADDA 

ADCB 

CMPB 

BCC 

RTS 



LOCCl R TEST LOCATION COUWTEH (MSB) 

DEC 

LOCCTH+I TEST LOCATION COUNTER (LSB) 

DEC 

LRCTH UfcC LOOR COUNTER 

START IF NOT LAST LOOP - START OVF.H 

J8Ui DONE - BACK TO JBJJ 



TEMROS 
SETO 

SET I 

SE12 

SET3 

E2 

#$34 

PIACRA 

PIACRB 

#$3C 
RIACRA 
#$34 
RIACRB 

#$34 
RIACRA 
#$3C 
RIACRB 

#$3C 

RIACRA 

RIACRB 



#$66 
DLV 



GET ERROM ADDRESS (MSB) 



IF ERROM MSB GREATER I HAN 3 
SETS ERHOM MSB = 



SETS EPHOM MSd = I 



SETS ERROM MSB = 2 



SETS ERHOM MSB = i 



SETS ONE MSEC DELAtf 



HIADRA INC EPROM LSB 
INCMSB 

TEMPOS INC ERROM MSB 
FORMAT 



LOCCTR+I DEC LOCATION COUNTER (LSB) 
DECMS8 

LOCCTR 

DECLH 

LOCCI'H DEC LOCATION COUNTEH (ML.H) 



DECLOC 

DELAY DUMMY DELAY IF < 1024 8YTES 

TSTLOC LAST LOCATION DONE YET? 



DISBUF+S SETS 6TH DIGIT OF OISBUF TO "0" 
EHHOR 



#1 

DISBUF*b SETS 6TH DIGIT OF OISBUF TO "I" 

ERROR 



#2 

DISBUF*b SETS 6TH DIGIT OF DISHUF TO '«2 M 

ERROR 



#$E 

DISBUF*4 SETS bTH DIGIT OF DISBUF TO "F" 

OUTDS EXIT 1 DISRLAY ERROR MESSAGE 



ENDADR-H 

ENDADH 

STADR+I 

STADR 

#4 

EO OUT OF ERROM RANGE 

OFFSET* I 

OFFSET 

#4 

El OUT OF ERHOM RANGE 



VERIFY ROUTINE ***************** 



44 0I4A 
00 A 

8006 A 
2F 0I3C 
A034 A 
62 0174 

99 OOAE 
EF 0106 



* 
* 

* 

* 

***************** 

* 

* 

VERIFY BSR SETUR 

VEH LDAA 0,X READ HAM BYTE 

CMRA PIADHB COMFAHF rtlTH ERROM BYTE 

BNE E3 MEMOHY & ERROM DON'T AGREE 

CRX ENDADR LAST ADDHESS? 

BEQ JBGJMR RETURN TO JBUG 

i nx point to next address 

BSR INCROM INC ERHOM ADDHESS 
BRA VEH GO READ NEXT BYTE 



*************** OOWNLOAD ROUTINE *************** 

* 




POINT TO 
STARTING 
ADDRESSES 



READ 
EPROM 





INCREMENT 

ADDRESS 

POINTERS 



(RETURN^ 
TOJBUGy 



Fig. 5. 
chart. 



ERASED? mode flow- 



greater than 1024, and E1 means 
the last address minus the first 
address plus the EPROM ad- 
dress offset is greater than 
1024. 

If E2 appears on the display 
the EPROM address tried to ex- 
ceed 1024 while the program 
was executing. You should hit 
reset, switch to READ, switch 
EPROM power off, reload the 
program and start over. If you 
were programming the EPROM 
when the E2 occurred it would 
probably have to be erased and 
reprogrammed. 

If E3 or E4 appears you can 
find which EPROM location 
caused the error by reading the 
PIA registers. First push the ES- 
CAPE (E) key, then 8004M. Re- 
cord the contents of $8004 as 
the LSB (least significant byte) 
of the EPROM address. Now 
push the GO (G) key to read 
$8005. This register indicates 
the first bit of the MSB (most 
significant byte) of the EPROM 
address ($X4 = 0, $XC = 1). 

Push the GO key again to 
read $8006. This is the data 
read from this location of the 
EPROM. Push the GO key again 
to read $8007. This indicates 
the second bit of the MSB of the 
EPROM address ($X4 = 0, $XC = 
1). Use this bit with the one 



142 Microcomputing February 1980 




INITIALIZE 
PIA 



I 


POINT TO 
STARTING 
ADDRESSES 














READ EPROM 
WRITE TO 
RAM 












/lastN. n0 

ADDRESS ^jm „ 

S. ? ^>r 


INCREMENT 

ADDRESS 

POINTERS 







YES 



RETURN 
TO JBUG 



Fig. 6. DOWNLOAD mode flow- 
chart. 



from $8005 to decode the MSB 
of the EPROM address. If both 
bits are then the MSB = $00; if 
the first bit is 1 and the second 
is0thentheMSB = 1; if the first 
bit is and the second is 1 then 
the MSB = $02; and if both bits 
are 1 then the MSB = $03. 

If the error is E4 you now 
know which location is not 
erased and the contents of that 
location (an erased location 
reads $FF), but about all you 
can do is to try erasing the 
EPROM again. If the error is 
E3 you can also read the cor- 
responding RAM location to de- 
termine the difference between 
the EPROM and the RAM. If the 
difference is a bit in the EPROM 
that is a 1 and should be a 0, try 
programming it again. If it is a 
bit that is a and should be a 1 , 
the EPROM will have to be 
erased before programming. 

\\ E3 errors continue to occur 
check your batteries for at least 
8.5 volts each with a 20 mA 
load. Because the program 
stops execution when an error 
occurs, only the first error can 
be located in either case. 

Don't let all these error mes- 
sages scare you. With careful 
planning and keypunching you 
may never see one. 

Final Thoughts 

A few notes about what types 
of programs to put in EPROM 
and how to modify them if nec- 



002 77A 

00278A 

00279A 

002ttOA 

0028 1 A 

00282A 

002 83 A 

00284A 

0023b 

00236 

0028 7 

002 88 
00289 
00290A 
0029 l A 
00292A 
00293A 
0029 4 A 
00295A 
00296A 
00297A 
00298A 
00299 
00300 
00302 
00303 
00304 
00305A 
00306A 
00307A 
00308 
00309 
003 I OA 

003 I I A 
003 1 2A 
003 I 3 
003 I 4 
003 I 5A 
003 I 6A 
003 I 7A 
003 I 8A 
003 I 9A 
00320A 
0032 I A 
003 22 A 
00323A 
00324 



01 I / 
01 19 
01 IC 
01 lb 
0121 
0123 
0124 
0126 



8D 
86 
A7 

ac 

27 
08 
3D 
20 



31 0I4A 



8006 
00 

A034 
51 01 



A 

A 

A 

74 



88 
Fl 



OOAE 
01 19 



ONLOAD BSR 
DNLD LDAA 
STAA 
CPX 
BEO 
I NX 
BSH 
BRA 



SETUP 

PIADRB 

0,X 

ENDADR 

JBGJMP 

INCHOM 
DNLD 



HEAD EPROM BYTE 

WRITE BYTE TO RAM 

LAST ADDRESS? 

RETURN TO JBUG 

POINT TO NEXT ADDRESS 

INC EPROM ADDRESS 

GO DOWNLOAD NEXT BYTE 



0128 
0I2A 
01 2D 
0I2F 
0131 
0134 
0136 
0137 
0I3A 



8D 
B6 
81 
26 
BC 
27 
08 
BD 
20 



20 0I4A 
8006 A 
FF A 
12 0143 
A034 A 
3E 0174 

OOAE A 
EE 01 2A 



**•***•*•*•*•*•* ERASED? ROUTINE ***•••*******•** 

* 

• 

ERASED BSR SETUP 

ERAS LDAA PIADRB 

CMP A #$FF 

BNE E4 

CPX ENDADR 

BEQ JBGJMP 

INX 

JSR INCHOM 

BRA ERAS 
* 



HEAD EPROM BYTE 
IS IT ERASED? 
EPROM NOT ERASED 
LAST ADDRESS? 
RETURN TO JBUG 
POINT TO NEXT ADDRESS 
INC EPROM ADDRESS 
GO DO NEXT BYTE 



0I3C 86 03 A 
0I3E B7 AOI I A 
0141 20 9E OOEI 



0143 86 04 A 
0145 B/ AOI I A 
0148 20 97 OOEI 



**•**•**••*• HEAD MODE SUBROUTINES **•**•*****• 

* 

E3 LDAA #3 

STAA DISBUF+5 SETS 6TH DIGIT OF DISBUF TO "3 M 

BRA ERROR 



014A 

0I4C 

014E 

0151 

0154 

0157 

015A 

01 50 

0160 



8D 
8D 
F6 
F7 
til) 
ti6 
B7 
FE 
39 



9D 00E9 
13 0161 
A036 A 
A03B 
00 70 
A037 
8004 
A032 



E4 



* 
SETUP 



LDAA 
STAA 
BRA 



BSR 

BSR 

LDAB 

STAB 

JSR 

LDAA 

STAA 

LDX 

RTS 



#4 

DISBUF+5 

ERROR 



TEST 

INITI 

OFFSET 

TEMPOS 

FORMAT 

OFF SET* I 

PIADHA 

STADH 



SETS 6TH DIGIT OF JIS8UF TO "4" 



CHECK ADDRESS HAN3ES 
INITIALIZE PIA 
MSB EPROM ADDRESS 



SAVE IT 
FORMAT IT 
LSB EPROM 



FOR PIA 
ADDRESS 



POINT TO START ADDRESS 



00325 






* 










0032 6 A 


0161 


7F 8005 


A INITI CLR 


PIACRA 






00327A 


0164 


7F 800 7 


A 


CLR 


PIACRB 






00328A 


0167 


CE FF34 


A 


LDX 


#SFF34 






00329A 


0I6A 


FF 8004 


A 


STX 


PIADRA 


A SIDE OUTPUTS. CA2-0 




0033 OA 


0160 


CE 0034 


A 


LDX 


#$0034 






0033 1 A 


0170 


FF 8006 


A 


STX 


PIADRB 


B SIDE INPUTS, CB2»0 




00332A 


0173 


39 




RTS 








00333 






* 










00334 






* 










00335A 


0174 


7E E08D 


A JBGJMP JMP 


JBUG 


OPERATION DONE, RETURN TO 


JBUG 


00336 






* 










00337 






* 










00338 








END 








TOTAL ERRORS 00000 












DEC 


00C8 


DECLOC 


00 B9 


DECLP 0068 


DECMSB 


OOBF DELAY 00A8 DISBUF 


AOOC 


DLY 


OOAA 


DNLD 


01 19 


ONLOAD ON 7 


EO 


OOCE El 00D3 E2 


OODA 


E3 


0I3C 


E4 


0143 


ENDADR A034 


ERAS 


0I2A ERASED 0128 ERROR 


OOEI 


FORMAT 


0070 


INCMSB 


00B4 


INCROM OOAE 


ini r 


0049 INITI 0161 JBGJMP 


01 74 


JBUG 


E08D 


LOCCTR 


A038 


LPCTR A03A 


NEXT 


0O2B OFFSET A036 OUTDS 


EOFE 


PIACRA 


8005 


PIACRB 


8007 


PIADRA 8004 


PIADRB 


8006 PROG 8023 PROGM 


OOOC 


SETO 


0080 


SETI 


0089 


SET2 0094 


SET3 


009F SETUP 0I4A STADR 


A032 


START 


001 1 


TEMPOS 


A03B 


TEST 00E9 


TSTLOC 


005E VER 0106 VERIFY 


0104 



essary to get you started: First, 
this program itself is an ideal 
candidate if you have limited 
RAM available because it will 
leave your entire RAM area free 
for the program that you are 
putting in EPROM. Other likely 
candidates to consider are: 
memory tests (so you can test 
all of your RAM), subroutines 
that you use frequently (saves 
RAM every time they are called), 
added functions that your mon- 
itor ROM doesn't perform and 
any other programs that you 
want ready to run immediately 
when your system is powered 
up. 

Before putting a program in 
EPROM, you must first make 
sure it has no self-modifying 
code and that all jumps to ab- 



solute addresses within the 
program are changed to match 
what the addresses will be when 
the EPROM is plugged into its 
normal socket. No self-modify- 
ing code means all variables 
must be located in RAM some- 
where else. In the D2 kit you can 
use the scratchpad RAM ($A000- 
$A07F) used by the monitor if 
you don't interfere with the 
monitor's variables. Generally 
$A032-$A05F can be used safe- 
ly as is the case with this pro- 
gram, which uses $A032-$A03B. 
There are eight jumps to ab- 
solute addresses within the 
program used with the 2708 
EPROM programmer. Four of 
these are in the jump table at the 
beginning of the program. The 
others are located at lines 120, 



142, 297 and 319. All of these 
must be changed to put this 
program in EPROM or to relo- 
cate anywhere else in RAM. 

The 2708 EPROM programmer 
circuit was held to the mini- 
mum to keep the cost down. If 
you didn't mind spending a little 
more, it could be built into a 
separate box and connected to 
the D2 kit through connector 
J1. The +27 V could be sup- 
plied from a separate power 
supply if available. LEDs could 
be added to indicate when pow- 
er was on and when the read/ 
write switch was in the write 
position (see Fig. 1). If you an- 
ticipate heavy use, a more ex- 
pensive zero-insertion-force 
type socket should be used for 
the EPROM. ■ 



Microcomputing February 1980 143 



Allan S. Joffe W3KBM 
1005 Twining Rd. 
Dresner PA 19025 



Stretching the Outer Limits 



Your TRS-80 is a wonderful 
machine, but sooner or 
later you will realize that it has 
its limits. At times, the realiza- 
tion is transitory, and at times it 
is puzzling or downright annoy- 
ing. You either say, "That's 



life" or you try to puzzle a way 
out of the problem of the mo- 
ment. One such encounter led 
my son, Jay, and I to come up 
with a solution to a problem 
that may seem either trival or 
otherwise, depending on your 



5 REM PGM BV JHV JOFFE, MODIFIED BY W3KBM 

19 CLS 

15 CLEAR 

26 CLEAR 2890. REM SUBTRACTION OF LARGE INTEGERS 

30 DIM A<100> 

40 DIM B<100> 

50 DIM N$(100> 
60 DIM TC100) 
70 PRINT PRINT 

80 PRINT"THIS IS AN INTEGER PROGRAM. . . NO DECIMAL POINTS PLEASE' 

85 PRINT 

90 PRINT "SUBTRACTION PROGRAM—ENTER LARGEST NUMBER FIRST": 

100 GOSUB 260 

110 GOSUB 320 

120 PRINT "A-B="; 

130 PRINT" " 

140 GOSUB 410 

150 GOSUB 480 

160 FOR W=2 TO 100: A<W;=6:B<W>=8:NEXT 

178 GOTO 90 

180 FORX= (101-LEN<Nf)) TO 100 

190 T<X>= ASC<MID$<N$, V, l))-48 

200 IF T<X»9 OR TCXK0 THEN GOTO 230 

210 V=V+1 

220 NEXT X: GOTO 250 

230 PRINT "NON NUMERIC DATA" 

240 FORX=1TO440 : NEXT : GOTO 15 

250 RETURN 

260 Y=1:N$="" 

270 INPUT "A=";N$ 

280 SIZE =LEN'N$ 

290 GOSUB 180 

300 GOSUB 640 

310 RETURN 

320 Y*1:N*="" 

330 INPUT "B=";N* 

340 SI2E=SIZE-LEN<N$) 

350 FOR J= 1 TO SIZE 

360 J$=J$+"0":NEXT J 

378 N$=J*+N$ 

380 GOSUB 180 

390 GOSUB 630 

400 RETURN 

410 FOR X = 188 TO 2 STEP -1 

420 A(X)=A<X)-B(X) 

430 IF A<X»=0 THEN 460 

440 A<X>=A<X>+18 

450 A<X-1)=A<X-1)-1 

460 NEXT X 

470 RETURN 

480 GOSUB 650 

490 GOSUB 588 

500 N**"" 

510 FOR X ■ T<1> TO 100 

520 N*«N*+CHRt<A<X>+48> 

530 NEXT X 

560 IF N«<"1" PRINT "ANSWER IS ZERO" ELSE PRINT N* 

570 GOTO 15 

580 FOR X = 2 TO 100 

590 IF T<X)=0 THEN 610 

688 T<1)=X: GOTO 628 



GOTO 106 



618 NEXT X 












626 RETURN 












636 FOR X - 1 


TO 


166: 


B(X)=T(X) 


:NEXT 


: RETURN 


648 FOR X = 1 


TO 


188 


A<X>=T<X> 


NEXT 


RETURN 


656 FOR X = 1 


TO 


186: 


T<X)=A(X) 


NEXT 


: RETURN 


668 END 













Program listing. 



own set of mind. 

To set the scene, key in this 
little program: 

10 INPUT A 
20 INPUT B 
30 C = A-B 
40 PRINT C 

It's just a simple subtraction 
routine, hardly spectacular, un- 
til you probe its apparent limits. 
For A, input a string of 25 nines. 
For B, input a string of 10 eights. 
Then run the program. The an- 
swer you get is 1 E + 25, which is 
unsatisfactory if you are doing 
an occasional calculation that 
involves large integer numbers 
and in which you wish to retain 
accuracy down to the last digit. 
Try another example. For A, 
input the same 25 nines. For B, 
input 1. Now run the program. 
The answer you get is 1E + 25, 
the same answer you got be- 
fore. This is merely to show the 
apparent size of the limitation 
we are talking about. 

In the first example, if you 
pushed a graphite character 
generator across a sheet of 
papyrus, you would have got- 
ten an answer of 999999999999- 
9991111111111, and in the sec- 
ond example you would have 
gotten an answer of 999999999- 
9999999999999998. If you are 
tempted to use the DEFDBL 
command, then you can get 
better answers than 1E25, but 
you cannot equal the answer 
you got with pencil and paper. 

The Program 

There is a way to program 
yourself out of the problem, 
and Jay came up with the ac- 
companying program listing, 
which I subsequently modified 
after an unexpected bug turned 
up. The program is fairly direct, 
but a few comments may be in 
order. 



First, it is limited to integers, 
albeit large integers. No deci- 
mal points please! The largest 
number must be inserted first. 
Then the smaller number to be 
subtracted is entered. If you are 
curious, you may invert this 
order when trying out the pro- 
gram, and if you are darned 
good at interpreting a form of 
nine's complement math, you 
may make sense out of the an- 
swer. 

A null symbol appears in 
lines 260 and 320. This consists 
of a pair of quotation marks 
with no intervening space. Cer- 
tain lines of the program from 
line 280 contain the variable 
SIZE, which in its entirety takes 
care of the problem that would 
exist without this routine, that 
is, the necessity of inserting 
leading zeros into the smaller 
number so that the actual total 
number of numerical positions 
occupied by A and B is identi- 
cal. 

This problem is generated by 
the use of aligned arrays to im- 
plement the subtraction pro- 
cess. Certainly there is another 
way to handle the problem, but 
that will have to wait for an- 
other day. Line 200 rejects your 
efforts to inject a decimal point 
or other nonnumeric character 
into the numbers, either by ac- 
cident or curiosity. 

We can adapt a somewhat 
similar routine to the addition 
of large integers, but for right 
now, pleasant weather and the 
discovery that the garden 
needs lots of work have un- 
covered another limit of the 
TRS-80: it's not worth a shucks 
when it comes to weeding! How 
about coming up with a pro- 
gram for that? You will have at 
least one paying customer for 
the software. ■ 



144 Microcomputing February 1980 



o 



o 

O) 

3 
ft) 

Q. 
0) 

(Jl 

c 

c" 

3 

a 



3 



o 

CO 



to 

C*> 

o 

3 
CD 

•< 

a> 
o 

3 



c 
en 

c" 

3 
Q. 
c/s 



cn 
o 



> 

Q. 
Q. 

CD 
C/1 
C/> 



z 


C/5 


0) 


(O 


H 


3 


CD 


0) 


— ^ 


c 


TJ 


3 


CD 


CD 


ft) 




a) 




CD 




■o 




■^ 




3 




*-^ 









O 
0) 

Q. 


9° 


CD 


3 


&> 2? 


£ 


C 


-i CD 


C/> 


3 


(Q »< 


cn 


CD 


ment enclose 
e to: DVisa 


5" 

• 



m 

X 

■D 

Q. 
OJ 

CD 



5* CO 

c cj 

CD JO 

CO o 



d n 



CD 




C/) 




CD 


3 


— ^ 


CD 



o • 

Z o 

U) — • 

~ O 



CJ1 


CD' 

c 




CO 


Q. 




0) 


^ 




< 






CD 


o 




£9 


DO 




i 


o 
o 




1 


o 




IT 


«£ 




CD 


"0 




CO 


—1 





-k CL 



CD 


CD 


^ CD 


-*i 


— * 


CD £. 


CO 
CD 




& CD 



O c 
^< — 
o *< 

C CD 



CD 

0J.CQ 
^ CD 
CD ^- 












CO 


LU 


>- 






LU 


o 


cc 


Q 




1- 


< 


< 


LU 


UJ 


< 


»- 

CO 

o 

Q. 


CO 
CO 
LU 
O 


-J 
< 

2 


X 

z 


CO 

Q 
LU 


o 

z 


LU 


u. 




»- 


z 






z 
















fO 



Is Your Computer 
Holding You Back? 



If so... it's time you 
expand your capabilities 
with a Vista V-200 
double density 
minifloppy 
disk system. 



Features: 

• Storage capacity ranges trom 200K 
bytes to 1.2 megabytes. 

• All Lifeboat software is 
compatible with the Vista 
V-200. 

• The Vista Exidy 200 does 
not require a S100 
expansion box. 

• The Vista V-200 is totally 
compatible with: 
Processor Technology's 
SOL-20 

North Star's Horizon 
Exidy's Sorcerer 
Ismai's 8080 systems. 

• Immediate Delivery. 

• 120 Day Warranty. 

• The complete system is 
available for as low as 
$695. 




Each V200 Minifloppy Disk System Includes: 



■ Minifloppy disk drive(s) — includes dc power regulator board, case and internal power supply. ■ S100 bus controller card— plugs into your 
computer and controls up to 3 double-density double-headed disk drives. ■ I/O cable— connects controller to drive(s). ■ System software- 
Vista CP/M (VOS) Disk Operating System and BASIC-E compiler (CBASIC optional) recorded on 5V4" diskettes. ■ Operating/instruction 
manuals— complete hardware software documentation describing your V200 system. ■ Each 5 1 A' ' diskette holds up to 400K bytes. 



Complete Systems Approach 

If you have a Z-80/8080-based microcomputer with an S100 
Bus, our V200 Minifloppy Disk System is everything you need 
to expand you computer. Completely software/hardware com- 
patible, the V-200 is a double density system capable of run- 
ning up to 3 double-density double-headed disk drives. 

The fast-access, on line storage of the V200 system gives you 
instantaneous program loading and dumping; sequential and 



random file access; context editing of programs and text; 
dynamic debugging of programs; program assembly; batch 
processing and much more. With your console, computer and 
about 24K bytes of main memory, the V-200 gives you a com- 
plete disk-oriented computer system with automatic bootstrap 
loading. Just turn on the power, reset, and you're ready to run. 



For Further Information Call our Toll Free Number 800-854-8017 



SEE 



^V20 



The Vista Computer Company 1401 Borchard Street •Santa Ana, California 92705 •714/953-0523 



^ Reader Service index— page 241 



Microcomputing February 1980 145 



Save more than 20%! 



AMERICAN SQUARE COMpUTERS 



NORTH STAR -INTERTUBE 
THINKER TOYS-MICROTEK 



The smartest computers at the smartest price. 




HORIZON QUAD & DOUBLE DENSITY 



HORIZON- 1-32K-D KIT 

HORIZON-2-32K-D KIT 

ASSEMBLED & TESTED 
HORIZON-2-32K KIT QUAD 

ASSEMBLED & TESTED 
PASCAL EOR NORTH STAR ON DISK 
POWERFUL NORTH STAR BASIC 
TEI PT 212 COMPUTER 5 MHz 
THINKER TOYS DISCUS/2D A&T 
DISCUS/2 + 2 1 2MEGABYTES A&T 



LIST 

$1999 
$2399 
$2765 
$2799 
$3215 



8000 
1149 
1549 



ONLY 

$1585 

$1905 

$2195 

$2225 

$2555 

49 

FREE 

6250 

949 



1299 

MEASUREMENT SYSTEM MEMORY A&T 4 MHz 64K 640 
GODBOUT MEMORY CALL FOR PRICE 




INTERTUBE II SMART TERMINAL 



$995 



$745 




MICROTEK PRINTER 

ANADEX PRINTER 

FLORIDA DATA PRINTER 600 CPS 



750 675 

995 875 

CALL FOR PRICE 



Super Software at Reasonable Prices 

MARYELLEN WORD PROCESSOR YOUR BEST BUY $38 
TEXTWRITERIII $125 

EZ-80 TUTORIAL-LEARN MACHINE LANGUACE $25 

PDS FOR NORTH STAR - BETTER THAN CP/M $99 

COMPILER FOR HORIZON-SECRET SUPERFAST CODE 

$100 
70% Off Software Prices with Computers 

VERBATIMTHE BEST DISKETTES BOXOF10 $29 

WHICH COMPUTERS ARE BEST? BROCHURE FREE 

NORTH STAR DOCUMENTATION, REFUNDABLE WITH 
COMPUTER $20 



[ 



AMERICAN 

SQUARE 
COMPUTERS 



J 



KIVETT DR 

JAMESTOWN NC 

27282 

(9191 883 1105 



introducing... 



MAYDAY 



TM 



The Uninterruptoble Power Supply 





Mr. Bytes lost his program due to power failure. 
Don't lose yours - Protect your time and investment. 



For price list and detailed specifications, contact your nearest Sun-Technology 
distributor or call direct to: 










Box 210 

New Durham, New Hampshire 03855 

(Manufacturing high technology products since 1970) 



(603) 859-7110 



I 



5-10 times faster... 
and more! 

Meet Pascal/Z,™ the fast, flexible compiler witR ^ 
higher speed, greater efficiency and improved debugging: 

■ True Z-80 native code Pascal compiler — 5-1 OX faster 
than competing P-code implementations — no interpreter 
required. 

■ The only multi-tasking Pascal — produces ROMable 
re-entrant code. 

■ Optimized for fastest execution — recognizes and 
exploits special cases. 

■ Easily transportable — all hooks to your system made 
through support library. 

■ Includes standard floating point package. Single 
copy on CP/M-compatible disk includes compiler, 
companion macro-assembler & source of the library, $395. 
OEM licenses available. Write or call for more information. 



Ithaca Intersystems lnc,1650 Hanshaw Road/PO Box 91 
Ithaca, NY14850/607-257-O190/TWX. 5A0255 4Mb 

©1979 Ithaca Intersystems Inc 



146 Microcomputing February 1980 



Connect the ADM-3A 
to the SWTP 6800 



A concise explanation of how to do it. 



Joseph J. O' Lough I in III 
908 Salem Dr. 
Huron OH 44839 



My recently acquired ADM- 
3A was patiently waiting 
for correct cab\e connections 
along with the proper function 
switch selection scheme. I 
wasted a maddening amount of 
time experimenting and trying 
to find information that would 
provide the clues, after my initial 
attempts failed. 

I uncovered several articles 
that discussed the use of the 
ADM-3A with the SWTP M6800 
but found not a hint of exactly 
how they were connected. This 

Upper Set 

BIT 8-0 



INH 

8 

UC 



ST0P1 
PARITY-ODD 

Lower Set 

AUTO NL 
RS232 
HDX 
300 



Fig. 1a. DIP switches located 
under LSI nameplate next to 
keyboard. 



article offers the needed infor- 
mation accompanied only by 
short comments rather than a 
study of the reasons why it 
works. 

The working configuration 
assumes the ADM-3A will be at- 
tached directly to an MP-C on 
port #1 in the SWTP M6800 with 
the MP-C jumpered for 300 baud. 

The ability to make the MP-C 
and the ADM-3A run at higher 
baud rates is the subject of a 
May 1977 Kilobaud article 
(•'Make Your Investment 
Count," p. 38). Incorporating 
that article's ideas will still re- 
quire the cable connections 
detailed in this article. 

Construction 

The easiest part of the prob- 
lem is a matter of properly set- 
ting the DIP function selection 
switches in the ADM-3A. Fig. 1 



Left Set 



Right Set 



ADV 


CUR CTL 




UC DISP 


LOCAL 




KB LOCK 




OFF 


CLR SCRN 




OFF 


60 HZ 




SEC 


24 LINE 




OFF 
OFF 



Fig. 1b. DIP switches located 
inside ADM-3A case at center 
rear of printed circuit board. 



shows the required settings. 

The cable is not particularly 
difficult to construct but is 
prone to faulty construction be- 
cause of the special connector 
needed for the ADM-3A. To prop- 
erly terminate the cable at the 
ADM-3A end, you should use a 
male DB-25 plug and protective 
hood to connect with the female 
DB-25 already installed on the 
ADM-3A. The necessary plug 
and hood are available through 
Microcomputing advertisers. 

To properly orient the DB-25 
while making the connections 
shown in Fig. 2, carefully study 
the view of the plug shown from 
the cable connection side of the 
plug where the connections will 
be soldered. If you carefully in- 
spect the DB-25 plug, you will be 



able to see the same numbers 
molded into the plastic next to 
each pin connection. 

After making the connections 
shown in Fig. 2, carefully in- 
spect the DB-25 plug and the 
MP-C molex connector plug for 
wiring errors. If no errors are 
present, plug the male DB-25 
plug into the ADM-3A female 
DB-25 labeled MODEM at the 
rear of your ADM-3A. 

If your ADM-3A doesn't re- 
spond properly, you have made 
a wiring error, with the most like- 
ly candidate being the DB-25 
end of the cable. It is easy to 
make mistakes because of the 
close spacing, number of pins 
on the connector and/or im- 
proper orientation of the plug 
during construction. ■ 



l3 12 II IO 



25 24 23 22 



<s 



RC TO 




REAR VIEW 

(CABLE SIDE) 

OF 

DB-25 



MP-C CONNECTOR 



Fig. 2. Jumpers 4 to 5 and 6 to 20 are installed to fool the ADM-3A 
into thinking it is working with a telephone modem. Without these 
jumpers installed, the ADM-3A will not function. 



Microcomputing February 1980 147 



Color TV Display: 
Use Those New LSI Chips 



Color is the wave of the future. The future is now with these chips. 




? 






Video display generator. 



Listing 1. Video driver software. 



i 

2 

3 

% 

5 

6 

7 

% 

9 

10 

11 

1? 

13 

1* 

15 

16 

17 






VIDEO DRIVER SOFTWARE 



1*00 
0*00 
000% 
0024 
0025 
0027 



LOC 
VIDM 

VIO 

WAIT 

VDPTR 

VOHLD 



EQU 

EQJ 
EQJ 
EOU 

EUU 
EQJ 



x«i*oo« 
x«*oo» 

X •% ' 
X«2%« 
X«25« 
X»27« 






STARTING ADDRESS FPR ASSEMBLY 

STARTING ADDRESS OF VIDEO RAM 
HIGH-ORDER STARTING ADDRESS ?F VIDEO RAM 
THIS IS THE DELAY EAR BAUD RATE SYNTHESIS 
CURSOR POINTER RAH LOCATION 
CHARACTER HOLD IN RAM 



• non-displayablc characters * 



000C A FF 



EOU 



X'C 



FORM PEED, CONTROL-L 



John C. Mein 

American Microsystems, Inc. 

8255 Jellison Ct. 

Arvada CO 80005 



Several Integrated circuit (IC) 
houses are now manufac- 
turing a large-scale integrated 
(LSI) video display generator 
(VDG) designed to produce com- 
posite video suitable for display 
on a standard black and white or 
color TV monitor. This IC signifi- 
cantly reduces the cost and 
complexity of a video display in- 
terface for your computer. I 
chose to design a system 
around the American Microsys- 
tems, Inc. (AMI), S68047 VDG 
because of its interface simpli- 
city, versatility and low cost 
(about $15). This VDG will work 
with any microprocessor. 

Described here is a circuit I 
built for my home-brew 8080 
that uses the AMI S68047 VDG 
with a few supporting ICs. It can 
be constructed for only about 
$50 (excluding memory cost). 



148 Microcomputing February 1980 



VDGPWS 



A/6 



A/S 



INT/EXT 



6M4 6M2 6M1 



CSS 



INV 



COLOR 



CHARACTER 
COLOR 



Green 
Black 

Blue 
Black 



Green 
Black 
Green 
Black 



BACK 

GROUND 



Black 
Green 
Black 
Blue 



Black 
Green 
Black 
Green 



x 






1 
1 

1 



Ci 
X 



1 
1 




1 
1 



Co 

X 


1 


1 

1 



1 



Color 

Black 

Green 

Yellow 

Cyan 

Red 

Blue 

Cyan/ 

Blue 

Magenta 

Orange 




1 
1 

1 
1 

1 
1 



c 1 c 




1 







1 
1 




1 
1 





1 


1 

1 



1 



Black 

Green 

Yellow 

Cyan 

Red 

Blue 

Cyan/ 

Blue 

Magenta 

Orange 



BORDER 



Black 



Black 



Black 
Black 



Black 



TV SCREEN 



DISPLAY MODE 



32 Characters 
in columns 
16 Characters 
in rows 



32 Characters 
in columns 
16 Characters 
in rows 



64 Display 
elements in 
columns 



32 Display 
elements in rows 



Black 






1 
1 




1 
1 



Co 

Green 
Yellow 
Cyan 
Red 
Blue 
Cyan/ 
Blue 
Magenta 
Orange 





1 

"o" 
1 



Color 
Black 
Green 
Black- 
Cyan/ 
Blue 



Green 



Cyan/ 
Blue 



64 Display 
elements in 
columns 

48 Display 
elements in rows 



Same color as 
Graphics 



Same color as 
Graphics 1 



Same color as 
Graphics 



Same color as 
Graphics 1 



Green 



Cyan/ 
Blue 



Green 



Cyan/ 
Blue 



64 Display 
elements in 
columns 

64 Display 
elements in rows 



128 Display 
elements in 
columns 
64 Display 
elements in rows 



,Green 



Cyan/ 
Blue 



Green 



Cyan/ 
Blue 



Green 



Same color as 
Graphics 



Same color as 
Graphics 1 



Cyan/ 
Blue 



128 Display 
elements in 
columns 
64 Display 
elements in rows 



128 Display 
elements in 
columns 
96 Display 
elements in rows 



1 28 Display 
elements in 
columns 
96 Display 
elements in rows 



256 Display 
elements in 
columns 
96 Display 
elements in rows 



Green 



Cyan/ 
Blue 



Green 



Cyan/ 
Blue 



128 Display 
elements in 
columns 

192 Display 
elements in rows 



256 Display 
elements in 
columns 
192 Display 
elements in rows 



DETAIL 



12 DOTS 



*H ioots h^ 



■I' 'IT 

•-i w-~ 



LI 


LO 


13 


LI 



VD6 DATA BUS 



NOT 
USED 



AtciwruT 



ONE ROW OF 

CUSTOM CHARACTERS 





C2 


CI 


CO 


L3 


LI 


L1 


LO 



NOT COLOR 
USED 



LUMMENCE 



COMMENTS 



ALPHANUMERIC INTERNAL mode uses internal 
character generator with on-chip 64 ASCII char- 
acter ROM to display each character in 5x7 dot 
matrix font 



ALPHANUMERIC EXTERNAL mode uses external 
ROM or RAM to display 512 characters in cus- 
tom fonts each in 8x12 dot matrix 



SEMIGRAPHICS 4 mode subdivides each of fhe 
512 (32x16) character blocks of 8x12 dots into 
four equal parts. The dominance of each block is 
determined by the corresponding bit (L0-L3) on 
the VDG data bus Color of each block is deter- 
mined by 3 bits (C0-C2) 



LI 


LO 


L3 


L2 


LS 


L4 



C1 


CO 


LS 


L4 


L3 


L2 


LI 


LO 


j 



COLOR 



LUMMENCE 



SEMIGRAPHICS 6 mode subdivides each of the 
512 (32x16) character blocks of 8x12 dots into 
six equal parts. The luminance of each part is 
determined by the corresponding bits (L0-L5) on 
the VDG bus Color of each block is determined 
by 2 bits (CO. CD 



E3l E2 



E1 



EO 



WHERE EX = C1CO 



L7 


LI 


LI 


L4 


L3 


L2 


L1 


LI 



CI 


CO 


CI 


CI 


CI 


CO 


CI 


CO 



L7 


LI 


LS 


L4 


L3 


L2 


LI 


LO 



GRAPHICS mode uses a maximum of 1024 
bytes of display RAM in which one pair of bits 
(CO. C1) specifies on picture element (Ex.). 



GRAPHICS 1 mode uses a maximum of 1024 
bytes of display RAM in which one bit (Lx) 
specifies one picture element 



E3 


E2 


El 


El 



L7 


LI 


LS 


L4 


LI 


L2 


LI 


LI 



E3 


E2 


El 


El 



C1 


CO 


CI 


CO 


CI 


CO 


C1 


CO 



L7 


LI 


LS 


L4 


L3 


L2 


LI 


LO 



L7 


LI 


L5 


L4 


L3 


L2 


LI 


LI 



E3 



E2 



E1 



3 



L7 


LI 


LS 


L4 


L3 


LI 


LI 


LI 



SI 


CI 


C1 


CI 


CI 


CI 


CI 


CI 



GRAPHICS 2 mode uses a maximum of 2048 
bytes of display RAM in which one pair of bits 
(CO. C1) specifies one picture element (Ex.) 



GRAPHICS 3 mode uses a maximum of 1536 
bytes of display RAM in which one bit (Lx) 
specifies one picture element 



GRAPHICS 4 mode uses a maximum of 3072 
bytes of display RAM in which one pair of bits 
(CO. C1 specifies one picture element (Ex.) 



L7 


LI 


LS 


L4 


L3 


L2 


L1 


LI 



C1 


CI 


C1 


CI 


CI 


CI 


CI 


CI 



GRAPHICS 5 mode uses a maximum of 3072 
bytes of display RAM in which one bit (Lx) 
specifies one picture element 



GRAPHICS 6 mode uses a maximum of 6144 
bytes of display RAM in which one pair of bits 
(CO. C1) specifies one picture element (Ex ) 



17 


LI 


LS 


L4 


L3 


L2 


LI 


LI 



GRAPHICS 7 mode uses a maximum of 6144 
bytes of display RAM in which one bit (Lx) 
specifies one picture element 



Table 1. Detailed description of VDG model (reprinted courtesy of American Microsystems, Inc.). 



The device allows you to display 
alphanumerics or graphics in 
full color on your home TV. 

When attached to your TV 
monitor, this circuit, shown in 
Fig. 1, displays the contents of a 
block of memory shared with 



your microprocessor. The mem- 
ory has a capacity of 4K x 12 
bits. The circuit can be operated 
in three modes: alphanumerics, 
semigraphics or full graphics. 
The first two modes can be inter- 
mixed on the screen, whereas 



switching between full graphics 
and the other modes can occur 
only on a line-by-line basis. The 
modes are detailed in Table 1. 

The alphanumeric mode en- 
ables the VDG to display a ma- 
trix of 32 characters x 16 lines. 



The internal mode utilizes an on- 
chip, 64 ASCII-character ROM to 
display each character in a 5 x 
7 dot matrix front. 

The two semigraphic modes, 
SG4 and SG6, subdivide each of 
the 512 (32 x 16) character 



Microcomputing February 1980 149 






§ 



o o o o o o o 



II 



II 



o 






5 



5 



5 



> 






->j|(7> <J> <T> 0> (D Ci CT> 



> 
o 




K 



o' 






O 
O 

o 



CD 
CO 

o 

CD 
3 



§!< 






Ol 



8< 



2 * 



« S 



14 

u» 

o< 

T.5 
-D O 



O (D 
-* > 

to 

z 

si 



o O 
* c 



Sc 



sr-sjpss 



x^J2>5 



<^ 



^ 



■E* 



L 







l\> 
O 



.§ ? 



N I* * Ol 01 






j> ► » 



* o 



y <T1 -<j * cm rt> 



O — l»OI»OI«l-4«ilO 



• en 



i\> x J 



o 

I 



IN) 0> U» 



if 



Of 

-c -* 5 
2 i» r- 



u 01 



KM - 









SI 



m r» 



vo O 



oooooooo 

O ~ N W i tf 0) ^4 



o 

i* 



w 5 



X 



3 



fw 



.o» 

< 



tr# 



<h=§ 



II II 




♦ 
► o» 

< 



?? 



;o> 




-AW- 



^-OOI 

<* < 



"8i' 
I** 



CD 



■ 

is* 
|s , s 



I 



Imh 




<K 



; x 



• o» 

< 



x 



^ S~ 



«-k. 



<H 



8 



< 



I 



in 



in 

i 



o 
or\> 

O ' M 

O -ft 



S2 * 



b3 



9 



♦ 
■=-*■ 01 

s < 



z 



"»1 



a -4 
> o 

z 



3 3 



CD 

> 


5 


CD 


2 


z 


2 


X 


X 


X 


— 


l\> 


LH 


O 





O 


tfl 


to 


</> 



r> n 



f\> l* 
•J O 



-N«»(J»-I»« 



> 

5 



o 

m vt - 

>r- ro 
-i> O 

o ■< 



8* 



1 
-< -< 



7F 





X 
CD 



r 



< 





i 









wn 



m 01 < 

- - O 
o> o rn 
' 1 O 



Z 3 




<b@ 




<H^br 



rm 

Mill 



i 






'o» 

< 



5 W V u> 

1 # o <• 

<* ^ T| » 



?K 



-wv-r-t>w 
u. t» < 




" 






o 
o 



m 
to 



IU u 



ro i\) w — 

* * * 1L 

o o o 1 

e t> ts 



^1 

en 



2* 



O H 




» _ 


J 

1 1 1 1 ll 


-- 


1.1 



m O 




w«i o "l 



*. en o> 

< 



8 



2 "f * 

§ -•" -•" 

Ol b> 

u o» 

< < 



J 



5 * 



> o. if 
■n O ^ 



X 



in 

0<O 

c 



















\ 












. >» 


• ; 






•o-i»i»*»» 


xxSxxO^x 












2 


1 







->J 00 



o 

z 
o 



150 Microcomputing February 1980 



I 



I 





d 




•^►JV** 




I 




STEP UP TO A C4P 
FROM OHIO SCIENTIFIC 

You know about computers. In fact, 
you probably own one now. One that 
you might be thinking of expanding. We 
have a better idea. Take a giant step 
into the personal computing future with 
an amazing, new C4P from Ohio 
Scientific. 

SPEED SEPARATES THE 
COMPUTERS FROM THE TOYS 

The C4P MF has execution speed that 
is twice as fast as Apple U or 
Commodore PET and over THREE 
times as fast as TRS-80. They are 
many times faster than the recently 
introduced flock of video game type 
computers. And, as if that weren't fast 
enough, the C4P nearly doubles its 
speed when equipped with the GT 
option. 

Just look at the back 
panel of the C4PMF. 




SOUND 

1 — programmable tone generatoi 

200 — 20KHZ 
1 — 8 bit companding digital to analog 

converter for music and voice 

output. 

HUMAN INPUT EXPANSION 

2 — 8 axis joystick interfaces 
2 — 10 key pad interfaces 

HOME INTERFACE 

1 — AC-12 AC remote control interface 

DISPLAY 

32 x 64 with upper and lower case 
2048 Characters. 
256 x 512 effective Graphic Points 
16 Colors 

SOFTWARE 

Ohio Scientific offers a comprehensive 
library of both systems and 
applications software for the C4P. 



All the 1/0 you'll ever need! 

Apple 1!. Commodore PET. TRS 80. and Atari 800 are registered trade name* ol Apple 
liter Inc. . Commodore Business Machines Ltd , Radio Shack Atari respectively 



The C4P is an outstanding premium 
computer — years ahead of the 
market. We know because there's 
nothing quite like it for the price, 
anywhere. And probably won't be for a 
very long time. 



C4P *698 

8K BASIC-in-ROM, 8K of static RAM 
and audio cassette interface. Can be 
directly expanded to 32K static RAM 
and two mini-floppy disks. 

C4PMF*1695 

All the features of the C4P plus real 
time clock, home security system 
interface, modem interface, printer 
interface, 16 parallel lines and an 
accessory BUS. The C4P MF starts 
with 24K RAM and a single mini-floppy 
and can be directly expanded to 48K 
and two mini-floppies. Over 45 diskettes 
now available including games, 
personal, business, educational and 
home control applications programs as 
well as a real time operating system, 
word processor and a data base 
management system. 

Computers come with keyboards and floppies where specified. 
Other equipment shown is optional. 

For literature and the name of your local 
dealer, CALL 1-800-321-6850 TOLL FREE. 




1333 SOUTH CHILLICOTHE ROAD 
AURORA. OH 44202 • [21 6] 562-31 01 



^013 See next "Small Systems Journal" in the March issue. 



IS 
19 
20 
21 
22 
23 
2* 
25 
26 
27 
?8 
29 
30 



31 
32 

33 
3% 

35 
36 



37 
31 

39 

♦ 

♦ 1 
02 
*3 
** 
45 



46 
47 

*8 
49 

50 

51 

52 

53 

54 
55 
56 

57 

5* 
59 

60 
61 
62 



63 



64 
65 
66 
67 

6* 
69 
70 

71 
7? 

73 



7% 
75 

76 

77 



78 
79 

80 
*1 

82 



83 

84 

85 

86 

«7 

M 

89 
90 



91 
92 
93 

94 
95 
96 



000* A LP EOJ 
0009 A CTRLI EQJ 
OOOD A CR EOJ 



9 

X 'D' 



LINE PEED 

CONTROL I# INVERT THE CHARACTER 

CARRIAGE RETURN 



1400 

1400 

1401 

1402 

1403 

1404 

1405 

1406 

1407 

1408 

1409 

140A 

1408 

140C 

1400 

1*0E 

1*0F 

1410 

1411 

141? 

1413 

1 41% 

1413 

1*16 

1417 

1418 

1419 

141A 

141B 

141C 

1410 

141E 
141F 



1420 

1421 

142? 

1423 

1*2* 

1425 

142S 

1427 

1428 

1429 

142A 

1425 

142C 

1420 

142E 

1*2F 

1430 

1431 

1432 



1*33 
143* 
1435 
1*3S 
1*37 
1*38 
1*39 
1*3A 
1*35 
1*3C 
1*30 
1*3E 
1*3F 
1**0 
1441 
14*2 
1**3 
1 *** 
1**5 
1**6 
1**7 
1**8 
1**9 
1**A 
1**8 



00E5 
0021 
0025 
0000 
00D5 
00C5 
00F5 
003E 
0089 
0003 
0013 
003E 
0000 
0003 
0011 
005E 
0023 
007E 
00E6 
0003 
00C6 
000* 
0057 
0023 
007E 
OOEB 
OOCD 
OOOE 
0015 
OOCD 
0028 
0015 



A 
A 

A 
A 
A 
A 
A 
* 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
4 
A 
A 
A 
A 



0079 
00E6 
007F 
00*F 
OOFE 
OOOC 
OOCA 
0081 
001* 
OOFE 
OOOD 
OOCA 
0092 
001* 
OOFE 
0009 
OOCA 
OOFA 
001* 



OOFE 
0015 
OOCA 
OOE? 
001* 
OOFE 
OOOA 
OOCA 
00E8 
001* 
OOFE 
0006 
OOCA 
0050 
001* 
OOFE 
0008 
OOCA 
OOEE 
001* 
OOFE 
0008 
OOCA 
OOF* 
001* 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



» 
* 



0015 A UP 

OOOA A ON 

0006 A FW 

0008 A BS 

0008 A hi 



VDTTY 



altvd: 



» 



» 
» 



* 
* 

* 



CURSOR CONTROL CHARACTERS 



» 



EOU 


X'l5' 


EOU 


X ' A ' 


EOJ 


6 


E(JJ 


8 


EOJ 


X'R' 



CONTROL-U# UP 

f1NTR0L-D# DMwN 

CONTROL-F, FORWARD 

PACKSPACE 

CONTROL-K, RETURN CUR3PR TO HOME 





SPACE 2 




* 
* 


SET UP 8080A REGISTERS 


• 
» 

• 


SPACE 2 


• 
* 
* 


NORMAL ENTRY POINT 


» 
» 



ORG 

PUSH 

LXI 



PUSH 
PUSH 
PUSH 
HVI 

OUT 

MVI 

OUT 

MOV 
INX 
MOV 
AM 

ADI 

MOV 
INX 

nov 

XCHG 
CALL 



CALL 



LOC 

H 

H*VDPTR 



D 

■ 

PSw 

A,X'89« 

X»13' 

A.O 

X»ll' 

E#M 

H 
A#M 

3 

VID 

D.A 

H 

A»M 

DELAY 
CURSOR 



SAVE H#L REGISTERS 
ADDRESS OF CURSOR POINTER 



SAVE DE 
SAVE BC 
SAVE AF 
CONTROL WORD FOR PP I SET-UP 

OUTPUT CONTROL WORD TO PP I 

SET UP FOR ALPHAN.JMEPICS 



LPTR 

HPTR 

CONVERT TO VIDEO 

RAM ADDRESS 



CHAR IN HOLD UNDER CURSOR 

PNTR TO HL 

WAIT THE SET NUMBER OF MILLISECONDS 



RESTORE PREVIOUS CHARACTFW 



IDENTIFY THE INPUT CHARACTER 



« 
» 



MOV 


A,C 


ANI 


X»7F' 


MOV 


C#A 


CPI 


FF 


J2 


VIDFF 


CPI 


CR 


JZ 


VIDCR 


CPI 


CTRLI 


JZ 


INVERT 



GET NEW CHARACTER 



CPI 


UP 


JZ 


CRUP 


CPI 


DN 


JZ 


CRDN 


CPI 


FW 


JZ 


crrt 


CPI 


BS 


JZ 


crlt 


CPI 


HM 


JZ 


CRHM 



IT WAS A FORM FEED 



IT WAS A CARRIAGE RFTURN! 



IT WAS A INVERT VIOFO 



THE FOLLOWING INSTRUCTIONS 

{MARKED YYYY MAY BE REMOVED 

IF CUROSR CONTROL IS NOT REQUIRED 

YYYY 

YYYY 



YYYY 
YYYY 

YYYY 
YYYY 

YYYY 
YYYY 

YYYY 
YYYY 



DISPLAYABLE CHARACTER 



» 



1**C 



OOCD A VIDBO 



CALL 



DELAY 



WAIT THE SET NUMBER OF MILLISECONDS 



blocks of 8 x 12 dots each into 
smaller blocks of 2 x 2 and 2 x 
3, respectively. In SG4 each 
block Is created from 4x6 dots 
and can be displayed in eight 
colors plus black. In SG6 each 
block consists of 4 x 4 dots and 
can be displayed in four colors 
plus black. 

The VDG can also operate in 
one of eight full-graphics 
modes. These can be divided in- 
to two major groups, four color 
and two color. The four color 
graphics modes provide four 
display densities, ranging from 
64 x 64 elements (for graphics 
0) to 128 x 192 elements (for 
graphics 6). The two color 
graphics modes also provide 
four display densities, ranging 
from 128 x 64 elements (for 
graphics 1) through the highest 
density of 256 x 192 elements 
(in graphics 7). 

Theory 

A video display generator 
reads digital data from a ran- 
dom-access display memory, 
which is controlled by a micro- 
processor (sometimes called a 
refresh memory), and converts It 
into analog video waveforms 
that contain brightness and col- 
or information. The waveforms 
are synchronized with the TV 
raster by adding timing pulses. 
These signals can be fed direct- 
ly into a black and white monitor 
or a chroma modulator, which 
encodes them into a composite 
rf signal that replicates a TV 
transmission on Channel 3 or 4. 

The ease of changing the dis- 
play contents makes this memo- 
ry-mapped scheme of CRT con- 
trol very attractive. To change a 
display element you simply 
store the desired character or 
graphics information into the 
appropriate RAM location that 
corresponds to a particular lo- 
cation on the TV screen. 

The circuit does not slow 
down the microprocessor to re- 
fresh the screen as some CRT 
controllers do. During normal 
computations the VDG auto- 
matically refreshes the screen 
by addressing the video memory 
without interrupting the micro- 
processor address or data bus- 
es. To change the information 
on the screen, the microproces- 
sor normally reads the VDG field 



152 Microcomputing February 1980 



TRS-80 MODEL II FORMAT NOW AVAILABLE 



DIGITAL RESEARCH 



Software / 

wrm /Manual 
Manual/ Mona 

D CP/M* FLOPPY DISKETTE OPERATING SYS- 

® TEM — Packages supplied on diskette complete with 
8080 assembler, text editor. 8080 debugger and various 
utilities plus full documentation CP/M available con- 
figured for most popular computer/disk systems includ- 
ing: North Star Single. Double or Quad density, Altair 8" 
disks, Hehos II, Exidy Sorcerer, Vector MZ, Heath H17f 
orH89f. TRS-80t. iCOM 3712 and iCOM Micro Disk 
plus many other configurations available off the sheff . 

$145 $25 

CP/M version 2 (not all formats available immediately) 
$170 $25 

D MP/*r 3300/350 



Utr^pf* 4 '- 



D MAC — 8080 Macro Assembler. Full Intel macro defini- 
tions Pseudo Ops include RPC, IRP. REPT, TITLE, 
PAGE, and MACLIB Z-80 library included Produces 
Intel absolute hex output plus symbols file for use by SID 
(see below) $85 $1 5 

□ SID — 8080 symbolic debugger Full trace, pass count 
and break-point program testing system with back-trace 
and histogram utilities When used with MAC, provides 

. /I full symbolic display of memory labels and equated val- 

^\Ki -ues 370/815 

k] l^v^ZSID-As above tor Z-80 Requires Z-80 CPU 395/31 3 

□ TEX — Text formatter to create paginated, page-num- 
bered and justified copy from source text files. directaWe 
to disk or pnnter 370/31 5 

Q DESPOOL — Program to permit simultaneous printing 
of data from disk while user executes another program 
from the console 845/33 



MICROSOFT 



^^B^'- 



^ 



□ BASIC-80 — Disk Extended BASIC. ANSI compatible 
© with long variable names. WHILE/WEND, chaining^ vari- 
® able length file records 3300/325 

D BASIC COMPILER — Language compatible with 

© BASIC-80 and 3-10 times faster execution Produces 

® standard Microsoft relocatable binary output. Includes 

Wkaao-80 Also linkable to FORTRAN-80 or COBOL-80 

code modules 3350/325 

D FORTRAN-80 — ANSI 66 (except for COMPLEX) 

© plus many extensions Includes relocatable object com- 

(B) plier, linking loader, library with manager Also includes 

MACRO-80 (see below) $400/$25 

D COBOL-80 — ANSI 74 Relocatable object output 

© Format same as FORTRAN-80 and MACRO-80 mod- 

® ules. Complete ISAM, interactive ACCEPT/DISPLAY, 

COPY. EXt END 3825/525 

□ MACRO-80 — 8080/Z80 Macro Assembler Intel and 
© Zilog mnemonics supported Relocatable linkable output 
<Oj Loader, Library Manager and Cross Reference List 

utilities included 8149/31 5 

□ XMACRO86 — 8066 cross assembler All Macro and 
© utility features of MACRO-80 package Mnemonics 

slightly modified kOTO Intel ASM86 Compatibility data 
sheet available. y%*^. 3273/325 

□ EDTT-80 - Very fast random access text editor for text 
© with or without line numbers Global and intra-line com- 
mands supported. File compare utility included 389/315 

MICRO FOCUS 

□ STANDARD CIS COBOL - ANSI 74 COBOL 
© standard compiler fully validated by US Navy tests to 

ANSI level 1 Supports many features to level 2 including 
dynamic loading of COBOL modules and a full ISAM file 
facility Also, program segmentation, interactive debug 
and powerful interactive extensions to support protected 
and unprotected CRT screen formatting from COBOL 
programs used with any dumb terminal 3850/550 

Q FORMS 2 — CRT screen editor. Output is COBOL data 
© descriptions for copying into CIS COBOL programs 
Automatically creates a query and update program of in- 
dexed files using CRT protected and unprotected screen 
formats. No programming experience needed. Output 
program directly compiled by CIS COBOL (standard) 
$200 $20 

EIDOS SYSTEMS 

□ KISS — Keyed Index Sequential Search Offers com- 
© plete Multi-Keyed Index Sequential and Direct Access file 

management Includes built-in utility functions for 16 or 
32 bit arithmetic, string/integer conversion and string 
compare Delivered as a relocatable linkable module in 
Microsoft format for use with FORTRAN-80 or COBOL- 
80, etc $335 $23 

□ KBASIC — Microsoft Disk Extended BASIC with all 
© KISS facilities, integrated by implementation of nine 

additional commands in language Package includes 
KISS.REL as described above, and a sample mail list 

program $585/845 

to licensed users of "Microsoft BASIC-80 (MBASIC) 
8435/845 



' Software / 

micropro M^/rr 

D SUPER-SORT I — Sort, merge, extract utility as abso- 
© lute executable program or linkable module in Microsoft 
format. Sorts fixed or variable records with data in binary. 
BCD. Packed Decimal, EBCDIC. ASCII, floating, fixed 
point, exponential, field justified, etc. etc. Even variable 
number of fields per record! 8225/825 

□ SUPER-SORT II — Above available as absolute pro- 
© gram only 8175/525 

D SUPER-SORT III — As II without SELECT/EXCLUDE 
© 8125/825 

□ WORD-STAR — Menu driven visual word processing 
© system for use with standard terminals. Text formatting 

performed on screen. Facilities for text paginate, page 
number, justify, center and underscore. User can print 
one document while simultaneously editing a second. 
Edit facilities include global search and replace, read/ 
write to other text files, block move. etc. Requires CRT 
terminal with addressable cursor positioning 8445/825 

D WORD-MASTER Text Editor — In one mode has 

© superset of CP/M s ED commands including global 

searching and replacing, forward and backwards infile. In 

video mode, provides full screen editor for users with 

serial addressable-cursor terminal 8125/825 

SOFTWARE SYSTEMS 

□ CBASIC-2 Disk Extended BASIC — Non-interactive 
® BASIC with pseudo-code compiler and runtime interpre- 
ter Supports full file control, chaining, integer and ex- 
tended precision variables, etc 8108/815 

D PASCAUZ — Z-80 native code PASCAL compiler 
Produces optimized, ROMable re-entrant code. All inter- 
facing to CP/M is through the support library. The pack- 
age includes compiler conrHNH'On macroassembler and 
source for the library. Require* 56K and Z-80 CPU. 
Version 2 Include* att O* Jensen/Wirth except vanant re- 
cords TlCr. 8275/825 

Version 3 Upgrade with variant records and strings ex- 
pected 2/80 8385/825 

□ PASCAUMT — Subset of standard PASCAL. Gen- 
® erates ROMable 8080 machine code Symbolic debugger 

included Supports interrupt procedures and BCD arith- 
metic for real variables CP/M We I O and assembly lan- 
guage interface supported. Lacks Sets. Enumeration and 
Record data typ4». Virtual explains BASIC to PASCAL 

conversion ReqAefftK $95 $30 

Source for PASCAUMT run time package Requires 
MAC (See under Digital Research.) 850 




M^ 1 

STRUCTURED SYSTEMS GROUP 

D GENERAL LEDGER — Interactive and flexible sys- 
tem providing proof and report outputs. Customization of 
COA created interactively. Multiple branch accounting 
centers Extensive checking performed at data entry for 

Croof, COA correctness, etc. Journal entries may be 
atched prior to posting. Closing procedure automatically 
backs up input files All reports can be tailored as neces- 
sary. Requires CBASIC-2 8899/825 

□ ACCOUNTS RECEIVABLE — Open item system 
with output for internal aged reports and customer-ori- 
ented statement and billing purposes On-Line Enquiry 
permits information for Customer Service and Credit de- 
partments Interface to General Ledger provided if both 
systems used Requires CBASIC-2 8899/825 

□ ACCOUNTS PAYABLE — Provides aged state 
ments of accounts by vendor with check writing for 
selected invoices. Can be used alone or with General 
Ledger and or with NAD. Requires CBASIC-2 8899/825 

□ ANALYST — Customized data entry and reporting sys- 
tem User specifies up to 75 dataitems per record Inter- 
active data entry retrieval, and update facility makes 
information managafnertf aesy Sophisticated report 
generator provides Ouetomized reports using selected 
records with mumpie level break-points for summariza- 
tion Requires CBASIC-2, 24 x 8 CRT. pnnter and 48K 
system 8225/315 

□ LETTERIGHT — Program to create, edit and type let- 
ters or other documents. Has facilities to enter, display, 
delete and move text, with good video screen presenta- 
tion Designed to integrate with NAD for form letter mail- 
ings Requires CBASIC-2 8179/825 

□ NAD Name and Address selection system — interactive 
mail list creation and maintenance program with output 
as full reports with reference data or restricted informa- 
tion for mail labels Transfer system for extraction and 
transfer of selected records to create new files Requires 
CBASIC-2 879/820 

I QSORT — Fast sort/merge program for files with fixed 
record length, vanable field length information. Up to five 
ascending or descending keys. Full back-up of input files 
created 395/320 



GRAHAM-DORIAN ■-»-■ „_. 

SOFTWARE SYSTEMS mmI mm 

D GENERAL LEDGER — An on-line system; no batch- 
© ing is required. Entries to other GRAHAM-DORIAN ac- 
m counting packages are automatjqa5y posted. User estab- 
lishes customized C.(lA»«JdWj:ransaction register, 
record of journal qpti lp % TriHollahces and monthly clos- 
ings. Keeps 1 4 muwNlnMOry and provides comparison of 
current year with previous year. Requires CBASIC-2. 
Supplied in source 8495/835 

D ACCOUNTS PAYABLE — Maintains vendor list and 

© check register. Performs cash flow analysis Flexible — 

y* writes checks to specific vendor fer certain invoices or 

can make partial payments. Automatically posts to 

GRAHAM- DORIASgariaral ledger or runs as stand alone 

system Requires CBASIC-2 Supplied in source. 

8485/835 

D ACCOUNTS RECEIVABLE — Creates trial balance 
© reports, prepares statements, aapa accounts and records 
® invoices. Provides complete information describing cus- 
tomer payment activity. Receipts can be posted to differ- 
ent ledger accounts. Entries automatically update 
GRAHAM- DORIAN general ledger or runs as stand alone 
system Requires CBASIC-2. Supplied in source. 
8485/835 

□ PAYROLL SYSTEM — Maintains employee master 
© file. Computes payroll withholding for FICA, Federal and 
® State taxes. Prints payroll register, checks, quarterly re- 
ports and W-2 forms. Can generate ad hoc reports and 
employee form letters with mail labels. Requires 
CBASIC. Supplied in source code 8495/335 

D INVENTORY SYSTEM — Captures stock levels, 
© costs, sources, sales, ages, turnover, markup, etc. 
(8) Transaction information may be entered for reporting by 
salesman, type of sale, date of sale, etc. Reports avail- 
able both for accounting and decision making. Requires 
CBASIC. Supplied in source code 8495/835 

D JOB COSTING — Designed for general contractors. 
© To be used interactively with other GRAHAM-DORIAN 
® accounting packages for tracking and analysing ex- 
penses User establishes customized cost categones 
and job phases. P*ft»ts comparison of actual versus 
estimated costs. Automatically updates GRAHAM- 
DORIAN general ledger or runs as stand alone system 
Requires CBASIC-2 Supplied in source. . . 8485/835 

□ APARTMENT MANAGEMENT SYSTEM - Fi 

© nanaal management system for receipts and security 
® deposits of apartment projects. Captures data on vacan- 
cies, revenues, etc. for annual trend analysis. Daily report 
shows late rents, vacancy notices, vacancies, income 
lost through vacancies, etc. Requires CBASIC. Supplied 
in source code 8485/835 

D CASH REGISTER — Maintains files on daily sales 

© Files data by sales person and item. Tracks sales, over- 

® rings, refunds, payouts and total net deposits. Requires 

CBASIC. Supplied in source code 8485/835 

Q tiny C — Interactive interpretive system for teaching 
structured programming techniques Manual includes full 
source listings 375/340 

D BDS C COMPILER — Supports most major features 
® of language, including Structures. Arrays, Pointers, 
recursive function evaluation, linkable with library to 8080 
binary output Lacks data initialization, long & float type 
and static & register class specifiers Documentation in- 
cludes "C" Programming Language book by Kemighan & 
Ritchie 3110/315 

D WHITESMITHS' C COMPILER - The ultimate in 
© systems software tools. Produces faster code than Pas- 
cal with more extensive facilities Conforms to the full 
UNIX*** Version 7 C language, described by Kernighan 
and Ritchie, and makes available over 75 functions for 
performing I/O. string manipulation and storage alloca- 
tion. Linkable to Microsoft REL files. Requires 60K CP/M 
8830/530 

D POLYVUE/80 — Full screen editor for any CRT with 
® XY cursor positioning. Includes vertical and horizontal 
scrolling, interactive search and replace, automatic text 
wrap around for word processing, operations for manipu- 
lating blocks of text, and comprehensive 70 page manual 
3135 315 

□ POLYTEXT/80 — Text formatter for word processing 
® applications. Justifies and paginates source text files. Will 

generate form letters with custom fields and conditional 
processing. Support for Daisy Wheel printers includes 
variable pitch justification and motion optimization 
885/815 

ID ALGOL-60 — Powerful block-structured language 
compiler featuring economical run time dynamic alloca- 
tion of memory Very compact (24K total RAM) system 
implementing almost all Algol 60 report features plus 
many powerful extensions including string handling direct 
disk address I/O etc Requires Z80 CPU 8199/320 



Prices and specifications subiect to change without notice 



Manual/ Alona 

□ Z80 DEVELOPMENT PACKAGE - Consists of 
** (1 ) disk file line editor, with global inter and intra-line facili- 
ties, (2) Z80 relocating assembler. Zilog/Mostek mne- 
monics, conditional assembly and cross reference table 
capabilities; (3) linking loader producing absolute Intel 
hex disk file 895/820 

□ ZDT — Z80 Debugger to trace, break and examine reg- 
® isters with standard Zilog/Mostek mnemonic disassem- 
bly displays. $35 when ordered with Z80 Development 
Package 350/310 

D DISTEL — Disk based disassembler to Intel 8080 or 
TDL Xitan Z80 source code, listing and cross reference 
files. Intel or TDL/Xitan pseudo ops optional. Runs on 
8080 885/810 

□ DiSILOG — As DISTEL to Zilog Mostek mnemonic 
® files. Runs on Z80 only 885/810 

□ TEXTWRITER III — Text formatter to justify and pagi- 
® nate letters and other documents Special features in- 
clude insertion of text during execution from other disk 
files or console, permitting recipe documents to be 
created from linked fragments on other files. Has facilities 
for sorted index, table of contents and footnote insertions 
Ideal for contracts, manuals, etc 8125/520 

D POSTMASTER — A comprehensive package for mail 
M list maintenance Features include keyed record extrac- 
tion and label production A form letter program is in- 
cluded which provides neat letters on single sheet or con- 
tinuous forms. Requires CBASlC-2 8150/525 

U WHATSIT?**** Interactive data-base system using 
associative tags to retrieve information by subject Hash- 
ing and random access used for fast response Requires 
CBASIC-2 8125/325 

□ XYBASIC Interactive Process Control BASIC — Full 
disk BASIC features plus unique commands to handle 
bytes, rotate and shift, and to test and set bits Available 
in Integer, Extended and ROMable versions 

Integer Disk or Integer ROMable 8295/825 

Extended Disk or Extended ROMable 8395/525 

D SMAL/80 Structured Macro Assembled Language — 
Package of powerful general purpose text macro proc- 
essor and SMAL structured language compiler. SMAL is 
an assembler language with IF-THEN-ELSE. LOOP- 
REPEAT-WHILE. DO-END. BEGIN-END constructs 
875/815 

D SELECTOR III-C2 — Data Base Processor to create 
® and maintain multi Key data bases Prints formatted, 
sorted reports with numerical summaries or mailing 
labels Comes with sample applications including Sales 
Activity, Inventory, Payables. Receivables, Check Regis- 
ter, and Client/Patient Appointments, etc. Requires 
CBASIC Version 2. Supplied in source code. 8295/820 

□ CPM/374X — Has full range of functions to create or 
re-name an IBM 3741 volume, display directory infor- 
mation and edit the data set contents. Provides full file 
transfer facilities between 3741 volume data sets and 
CP/M files 8195/810 

D BASIC UTILITY DISK — Consists of: (1) CRUNCH- 
® 14 - Compacting utility to reduce the size and increase 
the speed of programs in Microsoft Basic and TRS-80 
Basic (2) DPFUN - Double precision subroutines for 
computing nineteen transcendental functions including 
square root, natural log. log base 10, sin, arc sin, hyper- 
bolic sin, hyperbolic arc sin. etc. Furnished in source on 
diskette and documentation $50 $35 

□ THE STRING BIT — Fortran character string han- 
® dling. Routines to find, fill, pack. move, separate, con- 
catenate and compare character strings. This package 
completely eliminates the problems associated with 
character string handling in FORTRAN Supplied with 
source 845/81 3 

D BSTAM — Utility to link one computer to another also 
® equipped with BSTAM. Allow* file transfers at full data 
speed (no copversiorj^b(^ex). withJCRC block control 
check for very retfabfey error detretlon and automatic re- 
try. We use it^lMrOjeaU- ffuX_ynldcard/ expansions to 
send * COMf ei& fifoOUj ti&wth mr4, 300 baud with 
phone connection. jBptthends nefedjme* Standard and M 
versions can talk lo one an«b4«v*Compatible TRSDOS 
version also available . . . </v\. 81 50/85 

□ Flippy Disk Kit — Template and instructions to modify 
single sided 5%»" diskettes for use of second side in sin- 
gled sided drives 31 2.50 

D FLOPPY SAVER Protection for center holes of 5W 
floppy disks Only 1 needed pjai ttskette Kit contains 
centering post. pressur^ODttMufhy-rnil mylar reinforc- 
ing nnqs Installation^ biswl itngs for 25 diskettes 
TnVW 814.95 
Re-orders of nngs only 87.95 

•CP/M is a trademark of Digital Research 
"280 is a trademark of Zilog. Inc 
•"UNIX is a trademark ol Bell Laboratories 
""WHATSIT"' is a trademark of Computer Headware 

|CP M tor Heath TRS 80 Model I and PolyMorphic 8813 are 
modified and must use specially compiled versions of system 
and applications software 
® Modified version available for use with CP'M as implemented 
on Heath and TRS-80 Model I computers 

©User license agreement for this product must be signed and 
returned to Lifeboat Associates before shipment may be made 




Software for most popular 8080/Z80 computer disk systems including 
NORTH STAR, iCOM, MICROPOLIS, DYNABYTE DB8I2 & DBSI4, EXIDY 
SORCERER, SD SYSTEMS, ALTAIR, VECTOR MZ, MECCA, 8" IBM, 
HEATH H17& H89, HELIOS, IMSAI VDP42 & 44, REX, NYLAC, 
INTERTEC, VISTA V80 and V200, TRS-80 MODEL I and MODEL II, 
ALTOS, OHIO SCIENTIFIC and IMS 5000 formats. 



iboat Associates 

THE 
SOFTWARE 
.SUPER- 
MARKET 




Orders must specify disk 
systems and formats 
e.g. North Star single, 
double or quad density, 
IBM single or 2D/256, 
Altair, Helios II, 
Micropolis Mod I or II. 
5Va" soft sector (Micro 
iCOM/SD Systems 
Dynabyte), etc. 

Prices FOB. New York 
Shipping, handling and 
COD. charges extra. 

Manual cost applicable 
against price of 
subsequent software 
purchase. 

The sale of each 
propriety software 
package conveys a 
license for use on one 
system only. 



™The Software Supermarket is a trademark of Lifeboat Associates 



Lifeboat Associates, 2248 Broadway, n.y., n.y. 10024 

(212) 5800082 Telex: 220501 (/Ue«U *U*wJ*As ' ) 



97 
9* 



99 

100 
101 
10? 
103 

10* 



105 

106 
107 

ton 

109 



110 



11 1 
11? 
113 
11% 

115 

116 
117 



118 

119 



120 



121 
12? 

123 
12* 
125 
126 
127 
128 
129 
130 
131 
132 
133 
13* 
135 
136 



137 

138 



139 

1*0 
1*1 
1*2 

1*3 



1** 
1*5 
1*6 
1*7 

1*8 

1*9 
150 



151 
152 
153 
15* 
155 



156 
157 

158 

159 



160 
161 



162 
163 

16* 
165 

166 
167 



1**0 
1**E 
1**F 

1*50 
1*51 
1*52 

1*53 

1*5* 

1*55 

1*56 

1*57 

1*58 

1*59 

1*5* 

1*5B 

1*5C 

1*50 

1*5E 

1*5F 

1*60 

1*61 

1*62 

1*63 

1*6* 

1*65 



1*66 
1*6 7 
1*68 
1*69 
1*64 
1*68 
1*6C 
1*63 
1*6 t 
1*6F 
1*70 
1*71 
1*72 
1*73 
1*7* 
1*75 
1*76 
1*77 
1*78 
1*79 
1*74 
1*78 

1*7C 
1*70 
1*7E 
1*7F 
1*80 



1*81 
1*82 
1*83 
1*8* 
1*85 
1*86 
1*87 
1*88 
1*89 
1*84 
1*88 
1*8C 
1*80 
1*8E 
1*8F 
1*90 
1*91 



1*92 
1*93 

1*9* 
1*95 
1*9* 
1*97 
1*98 



1*99 
1*94 
1*9B 
1*9C 

1*90 
1*9E 
1*9P 

1*A0 
1**1 
1*A2 
1*A3 

1*A* 
1*A5 
1*A6 
1*A7 

1**8 
1**9 
1*A4 
1*AB 
1**C 
1*40 
1**E 
1*AF 
1*B0 



OOOE 
0015 
0071 

0001 
0001 
0000 



0009 A 



007C 

OOFE 

0006 

00C2 

0066 

001* 

0026 

0005 

0070 

00F6 

OOEO 

006F 

OOCO 

OOBl 

001* 

00C3 

006C 

001* 



007C 
00E6 
0003 
00C6 
000* 
0067 
OOCO 
OOOE 
0015 
007& 
OOCO 
OOOE 
0015 
OOCO 
0028 
0015 
OOEB 
0077 
002B 
0072 
002B 
0073 



0021 
0000 
000* 
0OE5 
OOCO 
OOOE 
0015 
0036 
0020 
0023 
007C 
OOFE 
0006 
OOOA 
0085 
001* 
OOEl 



0070 
00E6 
OOEO 
006F 
00C3 
0066 
001* 



0005 
0011 
0020 
0000 
0019 
007C 
OOFE 
0006 
00C2 
OOCE 
001* 

OOCO 
OOBl 
001* 
0070 
0OF6 
OOEO 
006F 
0026 
0006 
0001 
00C3 
0066 
001* 



A 
4 
A 
4 
4 
A 
4 
A 
A 
A 
* 
* 
4 
A 
A 
A 
A 
A 



OOFl A 

00C1 A 

0001 A 

OOEl A 

0OC9 A 



A 
A 

A 
A 
A 
A 
4 
A 
A 
4 
A 

A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



CRRT 



« 
CRADJ 



VIDRT 



VI0R1 



* 
* 

VIDFF 



VID^C 



* 
* 
VIOCR 



* 
* 
* 
VIOLF 



MOV 
LXI 



DAD 

MOV 
CPI 

JN2 



B.l 



JMP 



MOV 
ANI 

ADI 

MOV 
CALL 



MOV 
CALL 



CALL 



XCHG 

MOV 

OCX 

MOV 

OCX 

MOV 

POP 
POP 
POP 
POP 
RET 



LXI 



PUSH 
CALL 



MVI 

INX 
/10V 
CPI 

JC 



POP 



MOV 
ANI 

MOV 
JMP 



PUSH 
LXI 



DAD 
MOV 
CPI 

JNZ 



CALL 



A,H 
VID*2 

VID*T 



ADJUST CURSOR POINTER 
CHECK FOR OVERFLOW 



MVI 


H»VlD+l 


MOV 
OR I 


A.L 
X»EO« 


MOV 
CALL 


L»A 
ROLLO 



VI0R1 



AiH 

3 

VID 

H»A 
DELAY 



A.M 
DELAY 



CURSOR 



M»A 

H 

M#D 

H 

M#E 

PSw 
B 
D 
H 



H«VlDH 



H 
DELAY 



M.32 

H 

A#H 

VID*2 

VIDFC 



A.L 
X»E0' 

L»A 
VIDRT 



D 
0*32 



D 

A.H 

VID*2 
V0LF3 



ROLLO 



MOV 
OR I 


A.L 
X»EO' 


MOV 
MVI 


L.A 

H. vID*2 


POP 
JMP 


D 
VIDRT 



COMMON EXIT CODE 
NORMALIZE CURSOR POINTER 



CHARACTER UNDER THE CURSOR 



CURSOR 



POUTER TO OE 

CHARACTER UNDER THE CURSOR 

HPTR 

LPTR 

RESTORE REGISTERS AND EXIT 



PROCESS FORM FEED 

FILL SCREEN WITH SPACES 

MOVE CURSOR TO TOP LEFT 



WAIT THE SET NUMBER OF MILLISECONDS 



PROCESS CARRIAGE RETURN 

HOVE CURSOR TO BEGINNING OF L INE 



PROCESS LINE FEED 

MOVE CURSOR DOWN ONE LINE 

FILL NEW LINE WITH SPACES 



ROLL THE WHOLE DISPLAY UP ONE LINE 




synchronization (FS) sig- 
nal, which is low during vertical 
blanking on the horizontal sync 
(HS) signal, which is low during 
horizontal retrace. During this 
time the memory contents can 
be altered without causing the 
screen to flicker. Since the HS 
signal goes low more often, the 
screen can be updated faster 
when using this signal. 

Circuit Description 

Fig. 1 shows the complete cir- 
cuit required to implement the 
VDG for connection to a black 
and white or color TV. The 
74LS85 decodes the high-order 
address lines according to the 
setting of the DIP switch. The 
video display memory can be lo- 
cated anywhere in memory. 
When the video display memory 
is accessed by the microproces- 
sor for either a read or write, the 
VDG memory select (MS) pin is 
forced low. This action disables 
the VDG address lines and en- 
ables the 74LS244, 74IS245 and 
74LS367A to allow the micropro- 
cessor to go in and read or write 
to the 2114 memory. 

An 8255 programmable pe- 
ripheral interface is used to 
select among the twelve VDG 
modes and to sense when HS 
or FS is low. 

The video clock (VC) generat- 
ed at pin 27 determines the hori- 
zontal width of display. It should 
be adjusted for about 6 MHz. 
You can adjust it by picking the 
capacitor connected to pin 27 of 
the VDG to give the proper 
display width. 

Half of a 74LS157 data selec- 
tor is used to allow D7 to invert a 
character and D6 to select the 
background color during the al- 
phanumeric mode. 

Finally, the four outputs of 
the VDG go directly into an 
MC1372 color TV video modula- 
tor that is tuned to output the 
video signal directly on Channel 
3 or 4, depending on the value of 
the capacitor across the induc- 
tor. For Channel 3 it is 75 pF, and 
for Channel 4, 56 pF. A standard 
3.58 MHz color TV crystal con- 
nects to the MC1373 to provide 
the proper timing for both the 
MC1372 and the VDG. If you 
have a black and white monitor, 
pin 9 of the VDG can be con- 
nected through a decoupling ca- 



154 Microcomputing February 1980 



pacitor directly to your compos- 
ite video input, eliminating the 
need for the MC1372. The video 
monitor output is used in Fig. 1. 
For the alphanumeric mode, 
any control, such as cursor con- 
trol, line feed, carriage return, 
form feed and home, can be im- 
plemented by the appropriate 
software routine, preferably 
located in some type of nonvola- 
tile storage such as EPROM. In- 
cluded in Listing 1 is a list of 
8080A assembly language that 
will simulate most common con- 
trol characters. This routine as- 
sumes your video memory 
starts at hex 400. 

Construction 

As my system uses a non- 
standard wire-wrap board, I did 
no\ build my display circuitry on 
an S-100 breadboard card. You 
can build this circuitry on any 
card you desire; however, I 
recommend using wire-wrap 
construction. Use the compo- 
nent side of the board for the 
+ 5 V supply and the bottom 
side of the board for the ground 
plane. Install 0.1 uF decoupling 
capacitors throughout the 
board at the rate of one per two 
TTL chips. It is a good idea to 
enclose the color video modula- 
tor circuitry (denoted by the dot- 
ted line in Fig. 1) in a shielded 
enclosure to prevent the rf from 
leaking out onto your neighbor's 
TV. Photo 1 shows the complet- 
ed circuit. 

The parts list in Table 2 uses 
low-power Schottky TTL. Note 
that the memory chips should 
have an access time of less than 
500 .ns due to the speed require- 
ments of the VDG. 

After wiring up the board, but 
before plugging in the ICs, it is 
wise to apply power to the board 
and to measure the supply volt- 
ages at each IC to assure proper 
polarity. 

You may need to adjust the 5k 
pot on pin 3 of the MC1372. This 
adjustment controls the duty cy- 
cle of the MC1372. Adjust it by 
watching the TV screen. The 
capacitor connected to the in- 
put of the VDG determines the 
width of the picture. Select this 
one also by watching the 
screen. 

Make sure you disconnect 
your antenna before connecting 



17* 
175 



176 



177 



178 
179 

180 



181 

182 
189 
IS* 
185 

186 



1*7 
188 
189 
190 
191 
192 
193 

19* 
195 



196 

197 
198 
199 



200 
201 

202 



212 
213 
21* 
215 
216 
217 
218 
219 



220 
221 

222 
221 

22* 



225 

226 



227 

228 



229 
230 
231 
232 
233 
83* 
235 
236 



237 

238 



239 

2*0 

2*1 



1*8? 
1*B3 
1*B* 
1*85 
1*86 
1*B7 
1*88 
1*89 
1*BA 
1*88 
1*BC 
1*80 
1*BE 
1*BF 
1*C0 
1*C1 
1*C2 
1*C3 
1*C* 
1*C5 
1*C6 
1*C7 
1*C8 
1*C9 
1*CA 
1*CB 
1*CC 
1*C0 

1*CE 
1*CF 
1*00 
1*01 
1*02 
1*03 
1*0* 
1*05 
1*06 
1*C7 
1*08 
1*09 
1*0A 
1*03 
1*0C 
1*00 
1*0E 
1*DF 
1*E0 
1*E1 



OOES 
0011 
0000 
000* 
0021 
0020 
000* 
OOCD 
000E 
0015 
007E 
0018 
00C0 
000E 
0015 
0036 
0020 
0013 
0023 
007C 
OOFE 
0006 
00C2 
0089 
001* 
00E1 
00D1 
00C9 

00E5 
0070 
0OE6 
00E0 
006F 
OOCD 
000E 
0015 
0036 
0020 
0023 
0010 
00C2 
0003 
001* 
00E1 
0001 
00C3 
0066 
001* 



A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
* 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 

A 
A 
A 
A 
ft 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



R0LL1 



PUSH 
LXI 


H 
D#VlDH 


LXI 


m, vIDh+32 


CALL 


DELAY 


MOV 

STAX 

CALL 


A#M 



DELAY 



WAIT THE SET NUMBER OF MILLISECONDS 



WAIT THE SET NUMBER OF MILLISECONDS 



MVI 



M,32 



INX 





INX 


H 


MOV 


A#H 


CPI 


VID*2 



VID ♦ 512 



V0LF3 



VOLF* 



JNZ 



POP 
POP 
RET 

PUSH 
MOV 
AN I 

MOV 
CALL 



MVI 



ROLL! 



H 




M 

A#L 

X'EO' 

L»A 
DELAY 



M.32 



FILL «EW LINE WITH SPACES 



WAIT THE SET NUMBER *F MILLISECONDS 



INX 
OCR 
JNZ 


H 

E 
VDLF* 


POP 
POP 
JMP 


w 
D 
VIDRT 



THE FOLLOWING I NS TH'JC T 1 'SMS AL«NJ WITH 
THOSE MARKED YYYV ABPVE» MAY BE REflMvED 
IF CURSOR CONTROL IS NOT REQuIREC. 




1*E2 
1*E3 
1*E* 
1*E5 
1*E6 
1*E7 
1*E8 
1*E9 
1*EA 
1*EB 
1*EC 
1*E0 
1*EE 
1*EF 

1*F0 
1*F1 

1*F2 
1*F3 
1*F* 
1*F5 
1*F6 
1*F7 
1*F8 
1*F9 
1*FA 
1*FB 
1*FC 
1*FD 
1*FE 
1*FF 
1500 
1501 
1502 
1503 
150* 
1505 
150 4 
150 7 
1508 
1509 
150A 
150B 
150C 
150D 



0001 

0OE0 

OOFF 

00C3 

0053 

001* 

0001 

0020 

0000 

00C3 

0053 

001* 

0001 

OOFF 

OOFF 

00C3 

0053 

001* 

0021 

0000 

0000 

00C3 

0066 

001* 

OOCD 

0O0E 

0015 

007E 

00E6 

007F 

002F 

0OE6 

0080 

00C0 

000E 

0015 

0086 

OOCD 

OOOE 

0015 

0077 

00C3 

0050 

001* 



CRDN 



crlt 



A CRUF 

A 

A 

A 
A 

A 
A 
A 
A 

A 
A 

A 

A 

A 

A 

A 

A 

A 

A . CRHM 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 

A 



JMP 
LXI 
JMP 
LXI 
JMP 
LXI 
JMP 
INVERT CALL 



MOV 
ANI 

CMA 
ANI 

CALL 



A03 
CALL 



MOV 
JMP 



B.-32 



CRADJ 
8*32 

cbaDj 

B*-l 
CRADJ 

H,0 

VID«T 
DELAY 



A»M 
X«7F» 



X»80' 
DELAY 



M 
DELAY 



Mi A 

crrt 



YYYY 



YYYY 



YYYY 



YYYY 



YYYY 



YYYY 



YYYY 



YYYY 



WAIT THE SET NUMBER OF MILLISECONDS 



THIS IS THE INVERT ROUINTF 



WAIT THE SET NUMBER OF MILLISECONDS 



WAIT THE SET NUMBER OF MILLISECONDS 



» 



DELAY SUBROUTINE 



150E 
150F 

1510 
1511 
1512 
1513 
151* 
1515 
1516 
1517 
1518 
1519 
151A 
151B 
151C 



00C5 
00F5 
003A 
002* 
0000 
0030 
00C2 
0013 
0015 
OODB 
0012 
00E6 
0001 
OOCA 
0017 



A 

A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



DELAY 



OLYl 



HIGH 



PUSH 
PUSH 
LOA 


B 

PSW 
WAIT 


OCR 

JNZ 


A 
DLYl 


IN 


X»12« 


ANI 


1 


JZ 


HIGH 



THIS IS THE DELAY ROUTINE 

GET DELAY FOR BAUD RATE SYNTHESIS 



GET THE HORIZONTAL SYNC SIGNAL 
AND WAIT UNTIL IT IS HIGH 



Microcomputing February 1980 155 



8** 



2** 



1510 
151E 
151F 
15?0 
15?1 
15?? 
15? 3 
15?* 
15?5 
15?6 
15? 7 
15?8 



0015 
0008 
001? 
00E6 
0001 
OOC? 
001E 
0015 
OOFl 
OOCl 
00C9 
00E6 



L9W 



CURSOR 



IN 

ANI 

JNZ 



POP 
POP 
RET 
AN I 





15?9 


007F 


A 




?*9 


15?A 


oo?r 


A 


CMA 


?50 


1 529 


00E6 


A 


AN I 




152C 


0080 


A 




Ml 


1 520 


OOCO 


A 


CALL 




15?E 


OOOE 


A 






I5?r 


0015 


A 




25? 


1530 


0086 


A 


ADO 


?5 3 


1531 


OOCO 


A 


CALL 




153? 


OOOE 


A 






1533 


0015 


A 




?5* 


153* 


0077 


A 


MOV 


?55 


1535 


00C9 


A 


RET 


256 








END 



X'l? 1 

1 

LOW 



PSW 

■ 

X«7F» 



X '80' 
DELAY 



M 
DELAY 



M, A 



NOW WAIT UNTIL IT IS LOW 



WE HAVE WAITEO LONG EMOUGM 



THIS SUBROUTINE INvFRTS THE CHAR CllFS9R 



Designation 


Part Number 


IC1 


74LS245N 


IC2 


74LS244N 


IC3, 22 


74LS00N 


IC4, 21 


74LS367AN 


IC5 


74LS85N 


IC6 


8255 


IC7 


74LS157N 


IC8 


S68047P 


IC1 0-1 5, 26-31 


2114 


IC19 


MC1372P 


IC24 


74LS139 


X1 


3.579545 MHz 




Table 2. 



Description 

Tri-state octal transceiver 

Tri-state octal buffer 

Quad NAND gate 

Tri-state hex buffer 

4-bit magnitude comparator 

Programmable peripheral interface 

Quad 2:1 data selector 

AMI video display generator 

1K x 4 static RAM, 500 ns or faster 

Color TV video modulator 

Dual 2 of 4 decoder 

Color TV crystal 

Misc. resistors, capacitors, 

inductor, board, DIP switch 



the rf output to your TV. Other- 
wise, you may radiate your 
signal all over the neighborhood 
as well as violate FCC regula- 
tions. 

Operation 

Listing 1 shows an example of 
a typical subroutine to simulate 
the common control functions 
for the alphanumeric mode. If 
you use a different address for 
the display memory or assign 
different control character 
codes, you will have to make the 



appropriate changes in the soft- 
ware, which is well documented 
enough to allow you to see 
where these changes should be 
made. I have not included any 
software for controlling the VDG 
in the full-graphics mode, but 
you can develop this yourself. 

The routine normally waits 
until the screen is blanked (HS is 
low) before altering the display 
memory to prevent the screen 
from flickering. To use the video 
driver routine in your 8080, place 
the desired character or control 
function in the C register and 
call the subroutine. The subrou- 
tine returns with all registers in- 
tact. 

Conclusion 

The circuit described lets you 
exercise the full capabilities of 
the VDG. It allows you to build a 
memory-mapped CRT controller 
with a minimum of support hard- 
ware. You can easily build this 
circuit in stages using the cir- 
cuit as a basic TTY at first and 
adding more memory and soft- 
ware to utilize the full capabili- 
ties of the VDG. ■ 



SUPER SPECIAL 

Apple II 16K 

$999.99 




INTRODUCTORY 
OFFER 



16K RAMS for 
APPLE II 

TRS-80 



TEXAS INSTRUMENTS 
Tl 99/4 



$65 



16K 



$1099 




The Computer Stop 

16919 Hawthorne Blvd. 
Lawndale. CA 90260 

(213)371-4010 



MON. - SAT. 



C147 



IF1TECDLDR 
CDCTIPUCDLDR 

SALES • SOFTWARE 
SERVICE • UPDATES 

— BUY — SELL — SWAP- 
WHOLESALE -to dealers 

UPDATE -your machine to the latest disk configura- 
tion 

SERVICE -providing local and west coast service for 

east coast firms 

SOFTWARE - over 500 programs in our library 

USERS GROUP— join to purchase low cost software 

MEMBERSHIP & BULLETINS -1 year -$30.00 

PROGRAM EXCHANGE -5 to 10 programs for each 

acceptable submission 

CLUB DISKS -List of clubs standard compucolor 

disks -$2.00 (refundable with first order). Complete 

library listing (to date) of intecolor and compucolor 

programs $5.00 (non-refundable). 

S. P. ELECTRONIC SYSTEMS 

5250 Van Nuys Blvd. 

Van Nuys CA 91401 *^S75 

Phone 213/788-8850 



156 Microcomputing February 1980 









HHHHI 



■^■■■B 






THE MOST POWERFUL MICROCOMPUTER 
SOFTWARE EVER DEVELOPED IS ALSO ^» 
THE EASIEST TO USE _** »|gSSi 



i&& 






FOR USE ON 



MICROCOMPUTERS 



MICROSYSTEMS INFORMATION 
MANAGEMENT PACKAGE 



BUS-II 



PUTS ANY OR ALL YOUR BUSINESS FILES INTO A POWERFUL 

DATABASE. 

CREATE VIRTUALLY ANY RELATIONSHIP YOU CAN THINK OF. 

ENGLISH-SPEAKING REPORT GENERATOR. 

POWERFUL USER COMMANDS NORMALLY FOUND ONLY IN 
LARGE COMPUTERS. SELF-EXPLANATORY, EASY TO USE, 
SUCH AS "INPUT," "OUTPUT," "LIST," "PRINT," "CHANGE," 
"DELETE," "EXCLUDE," "INCLUDE," AND, PERHAPS MOST 
IMPORTANT OF ALL, "HELP!" 

STRAIGHTFORWARD INPUT AND EDITING ROUTINES- "IDIOT- 
PROOF." 

OPERATOR'S MANUAL WITH FULL USER INSTRUCTIONS IS ON- 
LINE WITH HELP COMMANDS. PROBLEMS? IUST TYPE "HELP!" 

COMMANDS CAN BE USED CONDITIONALLY ON ANY RECORD 
OR ON ANY FIELD WITHIN A RECORD. 

IN-MEMORY SORT, OR, (FOR BIG FILES) DISK SORT. 

ALL DATABASE FUNCTIONS ARE SUBROUTINES— CUSTOM 
PROGRAMMING SIMPLIFIED. 

OPTIONAL CASH REGISTER POLLING AND CONTROL PACK- 
AGE AVAILABLE TO QUALIFIED BUYERS (REQUIRES INSTAL- 
LATION CONSULTATION). 

OVER TWO YEARS' IN-FIELD TESTING. MIMP WORKS— 
FLAWLESSLY. 

ONE YEAR SUBSCRIPTION TO APPLICATIONS NEWSLETTER 
FREE WITH PURCHASE. 

TYPICAL APPLICATIONS: INVENTORY, CUSTOMER FILES, 
CASH REGISTER CONTROL (OPTIONAL EXTRA), DOCTOR/- 
DENTIST/LAWYER APPOINTMENTS OR CLIENT/PATIENT FILES, 
SALES RECORDS, MAILING LISTS. 

INTRODUCTORY OFFER 

$295 

THE KEY TO THIS SOFTWARE IS ITS SIMPLICITY OF OPERATION. 



CPA-APPROVED COMPLETE ACCOUNTING SYSTEM: GENERAL 
LEDGER, ACCOUNTS PAYABLE, ACCOUNTS RECEIVABLE. 

BRANCH ACCOUNTING HANDLES UP TO FIVE DIVISIONS. 

COMPLETELY INTERACTIVE. SELF-UPDATING. 

BATCH ACCOUNTING INSISTS ON BEING "IN BALANCE." 

USER MENU. OPERATOR PROMPTING FOR CORRECT ENTRIES. 

HIGHLY FLEXIBLE FORMATTING OF FINANCIAL REPORTS. 

NO KNOWLEDGE OF DEBITS AND CREDITS REQUIRED (EXCEPT 
RECURRING IOURNAL ENTRIES— ASK YOUR ACCOUNTANT). 

EXAMPLES OF REPORTS (FROM GENERAL LEDGER MODULE) 

CHART OF ACCOUNTS 
DETAILED GENERAL LEDGER 
CASH RECEIPTS IOURNAL 
CASH DISBURSEMENTS IOURNAL 
IOURNAL ENTRIES IOURNAL 
PROFTT-AND-LOSS IOURNAL 
BALANCE SHEET 

IDEAL FOR ACCOUNTING FIRMS AS WELL AS SMALL 
BUSINESSES. 

PROVEN THROUGH YEARS OF USE. 

THIS ACCOUNTING PACKAGE REQUIRES ONLY A HIGH 
SCHOOL-LEVEL UNDERSTANDING OF BOOKKEEPING. 

ONLY 

$295 

DUAL EIGHT-INCH FLOPPY DISK DRIVES REQUIRED. 



VfSA 



master charge 



Wp & BUS-II OPERATE ON ALL OHIO SCIENTIFIC 8-INCH OR WINCHESTER DISK MICROCOMPUTERS W/48 K RAM. 

USER-ORIENTED SYSTEMS — NO PROGRAMMING REQUIRED 

CREDIT CARD ORDERS 

CALL 
(304) 291-5400 

ALL ORDERS SHIPPED PREPAID WITHIN CONTINENTAL U.S. PLEASE DO NOT SEND CASH. 
OVERSEAS ORDERS PLEASE INCLUDE POSTAGE— 5 LBS. SORRY, NO C.O.D. 



^D74 



digital fcechiiolngii 

*■ hie. 

ROCKLEY ROAD MORGANTOWN. WV 26505 



Add a Digital Tape-Index 
Counter to the PET 



Construct this counter and locate programs and data files on tapes quickly and accurately. 



John Spisich 
3153030 Pembina Hwy. 
Winnipeg, Manitoba 
Canada R3T 4K4 

This article describes an in- 
expensive digital cassette 
tape-index counter that can be 
added to the built-in data-cas- 
sette unit on the PET 2001 per- 
sonal computer. An index count- 
er such as this gives the user a 
means to locate programs and 
data files quickly and efficient- 
ly with a high degree of accura- 
cy. The slow data-transfer rate 
ot a digital tape recorder, as 
compared to that of a floppy 
disk, should not be compounded 
with time-consuming hit-and- 
miss loading techniques. In my 
experience, the counter allows 
faster loading and saving of 
data, thus giving more time for 



programming and debugging. 

Introduction 

There are many attractive 
features about the Commodore 
PET 2001 computer. I was im- 
pressed by the graphics capa- 
bilities of the computer, the 
fast and versatile resident BA- 
SIC and a digital tape-storage 
system under partial software 
control, among others. I went to 
my local computer store and 
bought a PET. 

After initially using the com- 
puter, I found that the keyboard, 
not being set up like a standard 
typewriter keyboard, was the 
greatest obstacle. However, 
after I typed several thousand 
lines of BASIC, the keyboard 
became easily tolerable! 

Now, a new problem assumed 
the place of the old, as is al- 



ways the case. Most programs 
are of varying lengths and 
therefore occupy correspond- 
ing amounts of cassette tape. 
How do we locate programs not 
at the beginning of a tape accu- 
rately, without resorting to 
slow serial access or using vir- 
tually blind fast-forward and re- 
wind techniques? That was the 
question! 

The answer was apparent af- 
ter I glanced at my stereo sys- 
tem and noted the mechanical 
digital counters used on audio 
tape recorders. I resolved to 
add a tape-index counter to my 
data cassette. For reasons of 
compatibility, I chose the 
counter found on the Sony 
TC-160 cassette tape deck. 

Counter Modification 

This particular counter can 



be purchased for a few dollars 
at most Sony service and distri- 
bution centers. The drive 
mechanism is designed to ac- 
cept a rubber belt as opposed 
to some worm-gear mecha- 
nisms I have seen. It is quite ac- 
curate in all regular and fast 
modes of operation of the tape 
recorder. An added bonus is a 
zero-reset function (see Photo 

1). 

The only modification to the 
counter itself is to the nylon 
pulley on the drive shaft. The 
0.65 inch diameter of the pulley 
allows the counter to only 
reach a maximum count of 
about 300 on one side of a C-60 
cassette tape. Since this is the 
largest cassette you should 
use in data-transfer applica- 
tions, due to tape stretching on 
longer tapes, the pulley could 




Photo 1. Digital counter with original nylon pulley removed and 
brass pulley installed. 

158 Microcomputing February 1980 




Photo 2. Removal of cassette recorder from computer. 





Photo 3. Cassette lid removal facilitates alignment of cutout in 
case with rewind capstan. 



Photo 4. Drilled holes in computer front panel for digital counter 
shaft and mounting screw. 



be one-third the diameter and 
thereby triple the previously 
mentioned maximum count. 
This increases the accuracy of 
the counter from approximate- 
ly six seconds per digit to two 
seconds per digit. 

The PET allows 7.5 seconds 
of tape header between pro- 
grams. Therefore, within three 
to four digits, a program could 
be indexed, located and loaded 
in a matter of seconds without 
fear of overshooting. 

As shown in Photo 1, the 
pulley used can be from a junk- 
box cassette recorder. The 
brass pulley on the shaft of the 
synchronous drive motor is of a 
standard dimension and is held 
in place by means of set- 
screws. The hole in the brass 
pulley is enlarged by drilling to 
accommodate the larger shaft 
of the counter. The original ny- 
lon pulley on the counter is pried 
off carefully. 

Cassette Recorder Reassembly 

The next step in adding the 
counter is to modify the PET 
digital cassette recorder to ac- 
cept the drive belt that will drive 
the counter. The computer 
must be opened up at this 
stage to access the recorder. 
There are two screws on each 
side near the front of the com- 
puter which secure the top sec- 
tion of the computer to the 
black metal base. With these 
removed, it is possible to raise 
the hinged top of the computer 
similar to opening the hood of a 
car. A steel rod is provided on 



the left side to prop open the 
computer for servicing. It is im- 
portant that the computer be 
switched off and unplugged be- 
fore you open the computer. 

Before you unplug the multi- 
wire cable from the cassette re- 
corder to the microprocessor 
board, note how it is plugged in; 
it can be plugged in two ways! 
Then remove the two large 
screws at the front of the re- 
corder. The steel bracket will 
still hold the unit in place. 

While holding the cassette 
recorder with one hand, un- 
screw the bracket at the right 



side of the unit. This screw can 
be loosened without removing 
it and still allow the recorder to 
slide carefully away from you 
toward the back of the comput- 
er. Once it has cleared the 
bracket, it can be lowered and 
pulled out under the bracket 
(see Photo 2). 

The bottom section of the 
cassette recorder is attached 
by three screws. At a position 
directly left of the rewind cap- 
stan, as shown in Photo 3, a 
hole is carved. This is where the 
belt drive will exit the recorder. 
An X-acto knife works well if 



you shave off small sections at 
a time. A file creates too much 
dust! 

This procedure may take a 
half hour or more, so be patient. 
Care should be taken so as not 
to allow shavings to lodge in 
the recorder mechanism. Then 
draw a vertical pencil mark, hor- 
izontally in line with the two 
tape capstans, on the outside 
of the case. Align the shaft of 
the counter with this mark. 

With the cassette recorder 
reinstalled in the computer, the 
pencil mark should be visible 
from the top of the computer. 




Photo 5. Installation of O-ring in groove already 
present on rewind capstan. 



Photo 6. Cassette recorder reassembled with the 
O-ring exiting through a cutout in the side of the 
case. 



Microcomputing February 1980 159 




Photo 7. With the cassette re- 
corder reinstalled in the comput- 
er, and the counter affixed to the 
front panel, the O-ring is slipped 
onto the brass pulley. 



This is where you should drill 
the large hole for the counter 
shaft in the computer panel. 
The two holes must be drilled 
on the computer front panel as 
shown in Photo 4. The smaller 
hole is for a 5-44 1/4 inch screw 
to secure the counter to the 
panel. These holes should be 
drilled while the cassette re- 
corder is removed. Exercise 
caution so as not to get any 
metal chips or dust on the 
motherboard. It is a good idea 
to cover the board with a 
plastic sheet. 

The ideal way to drive the 
counter is with an O-ring. Rub- 
ber O-rings are inexpensive, 
strong and come in a variety of 
standard sizes. I purchased 
several sizes of O-rings and 
found a perfect fit with a 1.739 




Photo 8. Top view of completed assembly. Since counter pro- 
trudes over edge of computer, mounting holes on bottom of 
counter can be used to secure cover or escutcheon. 







Photo 9. Escutcheon on counter secured by two screws on under- 
side. 



inch diameter and 0.09 inch 
cross-section. If a Precision 
O-ring catalog is available, the 
above-mentioned O-ring is 
#031. To compensate for slight 
differences in counter installa- 
tions, an O-ring between 1.364 
and 1.989 inches diameter 
should be appropriate. These 
O-rings are catalog numbers 
028-033. 

Final Assembly 

Photo 5 shows the interior of 
the cassette recorder with the 
chassis removed from the top 
half of the plastic case. For- 
tunately, there is a groove on 
the rewind capstan that accom- 
modates the above-mentioned 



O-rings. Perhaps the manufac- 
turer of the cassette recorders 
intended to include a digital 
counter. 

Actual final assembly should 
follow the sequence as shown 
in Photos 6, 7 and 8. Photo 9 
shows the counter enclosed by 
a home-brew escutcheon made 
of folded aluminum stock and 
painted white. 

The minimum cost of this 
modification will be appreciated 
many times over in time-sav- 
ings. If a program tape is fully 
rewound, and the counter 
zeroed each time at this posi- 
tion, then a reliable index list 
can be made to an accuracy of 
one digit on the counter. ■ 

^X4 



MONITOR $149. 12" B&W 





i FrrnjrJ r 



!"#-m/Q *+..-,. •••01 2456739 :;<=; 
5RBCDEFGHI JKLMMOPQRSTUUyXVZE W 

*<irstttvwxyzi!J* 



SCT-100 VIDEO BOARD FEATURES 

• 64x16 line format with 128 displayable characters 

• Serial ASCII or BAUDOT with multiple Baud rates 
$197 Assembled or $167 Kit (Partial Kit $99) 
• Full cursor control with scrolling and paging 
• On board power supply 

• Serial interface RS232 or current loop 

• Purchase SCT-100 alone or complete terminal 



IOARD TERMINAL $375 

Full Kit $325 (includes SCT-100) 



»XIT€X COW? 



9861 Chartweli Drive 

Dallas, Texas 75243 (214) 349-2490 



ORDER BY PHONE/Overseas orders & dealers welcome 



WHY WE'RE NUMBER 




If you did not get our 52 page 1980 

ENGINEERING SELECTION GUIDE in the 

January issue of BYTE, send $1.00 for 

your copy today. 



PRIORITY ONE ELECTRONICS 

16723-K ROSCOE BLVD. 
SEPULVEDA, CA 91343 






\ 




UA AUntersystems, 

dump is an instruction. 

Not a way of life. 

[Or, when you're ready for IEEE S-100, will your 

computer be ready for you?) 




We're about to be gadflies again. 

While everyone's been busy 
trying to convince you that large 
buses housed in strong metal 
boxes will guarantee versatility 
and ward off obsolescence, we've 
been busy with something better. 
Solving the real problem with the 
first line of computer products 
built from the ground up to con- 
form to the new IEEE S-100 Bus 
Standard. Offering you extra ver- 
satility in 8-bit applications today. 
And a full 16 bits tomorrow. 

We call our new line Series 
ll! M And even if you don't need the 
full 24-bit address for up to 16 
megabytes (!) of memory right 
now, they're something to think 
about. Because of all the perform- 



ance, flexibility and economy 
they offer. Whether you're looking 
at a new mainframe, expanding 
your present one or upgrading 
your system with an eye to the 
future. (Series II boards are com- 
patible with most existing S-100 
systems and all IEEE S-100 Stan- 
dard cards as other manufacturers 
get around to building them.) 

Consider some of the fea- 
tures: Reliable operation to 4MHz 
and beyond. Full compatibility 
with 8- and 16-bit CPUs, pe- 
ripherals and other devices. Eight 
levels of prioritized interrupts. Up 
to 16 individually-addressable 
DMA devices, with IEEE Standard 
overlapped operation. User-selec- 
table functions addressed by DIP- 
switch or jumpers, eliminating sol- 
dering. And that's just for openers. 

The best part is that all this 
heady stuff is available nowl In 
our advanced processor— a full 
IEEE Bus Master featuring Memory 
Map™ addressing to a full mega- 
byte. Our fast, flexible 16K Static 
RAM and 64K Dynamic RAM 
boards. An incredibly versatile and 



economical 2-serial, 4-parallel 
Multiple I/O board. 8-bit A/D-D/A 
converter. Our Double-Density 
High-Speed Disk Controller. And 
what is undoubtedly the most flex- 
ible front panel in the business. 
Everything you need for a com- 
plete IEEE S-100 system. Available 
separately, or all together in our 
new DPS-1 Mainframe! 

Whatever your needs, why 
dump your money into obsolete 
products labelled "IEEE timing 
compatible" or other words peo- 
ple use to make up for a lack of 
product. See the future now, at 
your Intersystems dealer or call/ 
write for our new catalog. We'll 
tell you all about Series II and the 
new IEEE S-100 Bus we helped 
pioneer. Because it doesn't make 
sense to buy yesterday's products 
when tomorrow's are already here. 



Ithaca Intersystems Inc., 

1650 Hanshaw Road/P.O. Box 91, 

Ithaca, NY 14850 

607-257-0190/TWX: 510 255 4346 



TM 




MEMOREX 

DISKETTES 
& CARTRIDGES 

for your computer or word processor 

BUY THE BEST FOR LESS. 
Lowest prices. WE WILL NOT 
BE UNDERSOLD!! Buy any 

quantity. Call free (800) 235- 
4137 for prices and information. 



PACIFIC " P66 
EXCHANGES 

100 Foothill Blvd. 
San Luis Obispo, CA 
93401. (In CaL call 
(805) 543-1037.) 



$379 



iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimiiiiiiimimii 
4fRt TRS 80 PERIPHERALS 

DISK DRIVES \|jjj/ 16K MEMORY KIT 

40 tracks, ^■■•^ 300 NS $70.00 PRINTERS from 

with power supply & case 250 NS $76.00 CENTRONICS. INTEGRAL 

VERBATIM DISKETTES $3.00 200 NS $85.00 DATA, NEC SPIN WRITER. 

DYSAN DISKETTES $4.60 w/complete instructions TEXAS INSTRUMENTS. 

4 DRIVE CABLE $45.00 Jumpers add $2.50 ^4#PW ALL AT GREAT SAVINGS!! 




We also carry APPLE. SORCERER. PET. SO SALES products WE WILL NOT RE UNDERSOLD. 



GAMES 



ANDROID NIM. $14.00 
Nim robots that wink and 
respond. Excellent graph 
ics and sound. 
STAR TREK III $14 00 
Travel through the galaxy 
on the Enterprise and de 
stroy klingons New up- 
dated version. 

AIR RAID $14 00 

Real time shooting gal 
lery 

SARGON:CHESS $19 00 
Best chess tor TRS-80 
LIBRARY 100 $49.00 

100 games, utilities, and 
business programs in one 
package. Great value! 
SPACE BATTLE 

by Lv4 $14.95 

Disk $19 95 

ADVENTURE 
by Scott Adams. $14 95 
(ea) for Sorcerer or TRS-80 
TRS-80 32K Version$24 95 



TRS 80 SOFTWARE 



UTILITIES 

NEWDOS ♦ $99 00 

Enhanced DOS Contains 

many improvements over 

TRSDOS 7 useful utilities 

built in For 40 track use 

also 

NEWDOS $4900 

Same as above without 

utilities. 

SYSTEM INTEGRATION 

TEST $29 00 

tests memory, disk drives, 
and printer. 
MICROSOFT 



CPM 
RENUMBER 

disk 

G2 LEVEL III 
FOUTH by MSS 



FORTRAN 

325.00 
. . . $150.00 
$14 00 
$1700 
$49 00 
$35.00 



GSF by Racet Computers 
$24.95 



TRS 80 computers in stock!.' E 



RUSINESS 

GL, AR, AP, PAYROLL 
INTERACTIVE $350 00 
Reports include unbilled 
invoices, open/closed ac- 
counts, ageing Trial bal- 
ance, income statement, 
balance sheet Handles 
200 accounts. 1750 trans- 
actions Stand alone on 
each $95 

INVENTORY II $99 00 

activity listing, complete 
listing, selected listing, 
minimum quantity search. 
1000 items per disk 
ALL ABOVE PROGRAMS 
BYSBSG 

ELECTRIC PENCIL $99 00 
by Michael Shrayer 

disk $15000 

BEST word processor for 
the TRS-80 



The above list is just a brief summary of some of our most popular software. We have a large selection of other 
software for many uses and for many computers. Documentation for any of our programs is available on re- 
quest. If you have any questions, please call. We would like to hear from you. 



TO ORDER, CALL OR WRITE: 

MIDWEST COMPUTER PERIPHERALS 

P.O. BOX 437 
WILMETTE IL. 60091 



,^M106 




master charge i 



1 C.O.D. 13HH 



TRS 80 TANDY CORP. 



Prices Subject to Change without Notice 

iiiiiiiiiiiiiiiiiiuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 








TRS-80 OWNERS! 

We have a FREE program just for you. IDEA SEEDS T a new concept 
In software from CECDAT. Each month you can receive a FREE program 
for your TRS-80, ready for use and/or customization, for just a self 
addressed-stamped envelope. 

ACT AT ONCE... Send your se\f addressed-stamped envelope NOW 

before it slips your mind! It could be the best thing you have done 
for your TRS-80 Library. 

FREE IDEA SEEDS"! ONLY FROM CECDAT! »^C128 

CECDAT, Inc. P.O. Box 8963. Moscow. Idaho 838*43 



SUPERBRAIN" in stock! 

This is the most cost-effective computer system available. FREE 
DISKETTES. With every order for a SUPERBRAIM received before 
December 31, 1979, we will include 20 free diskettes. And don't forget 
— our price of $2895.00 includes U.S. shipping. 

Or, if you prefer, send $100.00 deposit and we will ship COD, freight 
collect. 



SUPERBRAIN $2895.00 ppd. 



BCD CLOCK — Here's a novelty item that's also practical. It's an actual 
clock that really tells time. Only this clock reads out in Binary Coded 
Decimal (BCD). Features 24 hour, 6 "digit" display. Amaze your friends 
— only you can read it! 



BCD-1 Complete kit with instructions 

BCD-2 Wood case and plastic bezel for above 



$24.95 
$ 5.95 



APPLETIME.a Real Time Clock 
for the Apple II. Rugs directly into any 
slot and keeps time even when 
computer is off. Features 12/24 
Hour, BCD/ ASCII data format, and 
AC/Crystal time base selection. 
Includes software examples for 
machine language and BASIC pro- 
grams. Completely assembled and 
tested. 
APT-1 Real Time Clock $79.95 



PROTOBOARD.with over 1300 
holes on 0.1 centers for designing 
your own circuits. 
APB-1Protoboard .... $17.95 



VERBATIM 5V4" DISKETTES 

Soft-Sector Box of 10 . . . $34.50 

(plastic file case included) 



»^W29 



west side electronics 

P.O Box 636, Chatsworth, CA 9131 1 

We pay all shipping m Continental USA 
Others add 10%. California residents add 6% tax 



iS Reader Service index— page 241 



Microcomputing February 1980 163 



James M. Hansen 
Methodist Hill 
Lebanon NH 03766 



TSC's Debugger 



Is this $39.95 Technical Systems Consultants' package a debugger or a simulator? 



Programming in assembly 
language is an exciting but 
sometimes frustrating expe- 
rience. A debugger of some sort 
is nearly always required. Out 
of the dozen or so around for 
the 6800, probably the most 
common is Motorola's MIK- 
BUG. It is a primitive debugger 
that will drive you to tears. 

Technical Systems Consul- 
tants (PO Box 2574, W. Lafay- 
ette IN 47906) has made a mon- 
umental effort to dry those 
tears with its SL68-30 package, 
available for $39.95. A cassette, 
paper tape or floppy disk con- 
taining the object code is also 
available at a reasonable price. 
The manual consists of 84 
pages of source code and 51 
pages on how to use it. 

The TSC Package 

While TSC chose to call this 
package a debugger, it is, in 
fact, a versatile simulator, sur- 
rounded by several debugging 
tools. The simulator has an al- 
most bewildering array of op- 
tions, sub-options and sub-sub- 
options. 

For example, consider mem- 
ory protection. Most of us feel 
fortunate to be able to simply 
write-protect a page or so of 
memory, right? The simulator 
allows you to write protect, but 
it can also "simulate" protect 
(run sections of code in real 
time), "reference" protect (stop 
references of any kind) and "ex- 
ecute" protect (allow use as a 
data base, but not as a pro- 
gram) nearly any combination 
of regions, blocks or bytes in 
memory. 

Breakpoints are also avail- 
able. Conventionally, a break- 



point will stop a program if it at- 
tempts to use the breakpointed 
address as an instruction. The 
simulator has eight different 
breakpoint actions that can be 
used separately or in combina- 
tion with each other. You can 
arrange to simply dump the 
registers at the breakpoint, 
zero a states counter, turn the 
trace mode on or off, increment 
a histogram counter, print a 
message, jump to a new ad- 
dress or stop simulation. All of 
these actions can be condition- 
al on your choice of register 
contents, memory location 
values or number of times past 
the breakpoint. For example, 
you can arrange to dump the 
registers the first ten times 
past the breakpoint, then never 
again. 

Several other features in- 
clude histograms, state 
counters and traps. Histo- 
grams are counters that are in- 
cremented each time a cor- 
responding histogram break- 
point is encountered. This 
allows you to count the number 
of times a particular section of 
code is encountered. 

The states counter tallies the 
number of machine cycles from 
the last Start or Reset com- 
mand to the point that simula- 
tion was stopped. Since this 
counter can be zeroed by a 
breakpoint, it is possible to 
determine the exact amoi/nt of 
time a particular piece of code 
takes to run. 

A trap is much the same as a 
breakpoint, except it stops pro- 
gram simulation on an uncondi- 
tional basis. There are two 
fixed traps. One catches ille- 
gal instruction codes, the 



other prevents an RTS before a 
subroutine call is made. 
The traps that are program- 
mable include a nest count 
(how many subroutine levels 
you want to allow), an interrupt 
trap (stop on any interrupt), a 
transfer trap (to stop every time 
a jump or branch is en- 
countered) and a stop trap, 
which simply stops execution 
at the assigned address. 

Two other commands are 
particularly noteworthy: the 
PAST command allows you to 
automatically disassemble up 
to 255 instructions executed 
just prior to whatever stopped 
the simulator. The TRAIL com- 
mand prints the address of the 
last transfer instruction (a jump 
or branch) and can be used to 
learn how a program ended up 
where it did. 

I have only touched on the 
more important commands 
available. There are many 
more — too numerous to men- 
tion here, but fully explained in 
the manual. 

The debugging tools include 
the familiar hex dump, with 
ASCII translations to the right 
of each line dumped, a hex 
patch routine much like MIK- 
BUG, a disassembler, a mem- 
ory fill command, a string 
search and a line-by-line 
assembler. This is not a real 
assembler. It is a patcher that 
allows you to use assembly 
mnemonics and conventions 
rather than hex. It complains 
nicely when you do dumb 
things such as try to branch too 
far, for instance. The disassem- 
bler is similar to TSC's disas- 
sembler package. The string 
search can look for a string of 



either ASCII or hex characters. 
A decimal-hex calculator is 
also included. It adds and sub- 
tracts decimal and hex num- 
bers interchangeably. Results 
are printed in both number 
bases. 

There is a price that must be 
paid for all these goodies. The 
debugger package needs 8K 
bytes of core for program and 
another 1K for variables. It is 
longer than many BASIC inter- 
preters! And on KC cassettes, 
it takes a long time to load. Are 
you writing real-time pro- 
grams? When the simulator 
runs in Mode One (full house- 
keeping and all features), it 
takes about 250 times longer 
than real time. Mode Zero, 
which does away with many 
features, including memory 
protection and loop counting, 
takes only 100 times longer. 
These times are TSC's figures, 
not mine. 

Comments 

The debugger is useful only 
to those who are programming 
in assembly language. This 
would include those writing 
real-time programs and sys- 
tems people who are writing 
compilers, editors and inter- 
preters, or programs not adapt- 
able to high-level languages. 

If you are writing veal-Vtme 
programs, the debugger will 
have \iU\e to offer unless the 
real-time events can be scaled 
down to the same speed the 
simulator runs. It may be useful 
in getting the initial program 
running, but programs of this 
nature are generally short 
enough to be checked out on 
paper. 



164 Microcomputing February 1980 



This leaves us with the 
systems people. Is this pack- 
age useful to you? I believe the 
answer is a qualified yes. To be 
really useful, your computer 
will need disk storage and a 
substantial amount of core, 
and your operating system will 
have to be ab\e to get your ob- 
ject code and the debugger into 
core simultaneously since no 
loader is included in the 
debugger package. (The debug- 
ger does include an X com- 
mand that can pass a com- 
mand directly to the TSC FLEX 
operating system.) 

The debugger has a plethora 
of sometimes overlapping com- 
mands and options. To be use- 



ful, these commands, totaling 
51 pages, will have to be com- 
mitted to memory. Then you 
must practice them until they 
are not just memorized, but ful- 
ly understood. This is a com- 
plex system, and you will need 
a lot of practice before you can 
use it effectively. 

The simulator is probably 
more useful for large, complex 
programs than smaller ones. It 
is particularly effective in chas- 
ing down hidden loops and 
bugs that cause a program to 
run for a while, then suddenly 
go berserk. 

The manual begins with an 
informal walk-through of the 
general operation, then pre- 



sents the commands in alpha- 
betical order by control func- 
tion. This makes them hard to 
look up. For example, where 
would you look to find the 
disassembler operating in- 
structions: General System 
Control, Simulation Control or 
Memory Commands? If you 
guessed Memory Commands, 
you are right! Once you have 
located the area describing the 
command, the manual is use- 
ful. The commands are de- 
scribed clearly, and several ex- 
amples always follow. 

Did TSC leave anything out? 
Well, I think that a memory 
compare and move command 
should be included in any 



debugger. Furthermore, it 
would seem to me that for 8K 
bytes or so of code, we should 
be able to load and punch a 
paper tape or cassette. 

Summing up this review, 
then, I would say that if you 
need a 6800 simulator, there is 
now one available. It is slow 
and will require 9K bytes of 
core. However, it works as 
advertised, and it works well. I 
have not uncovered any bugs 
so far and have used it to ad- 
vantage over my old monitor. I 
expect that as I use this debug- 
ger more and more, it will soon 
become automatic. But until 
that day arrives, I still have old 
faithful to fall back on.B 



TRS-80 USERS! 

REALTIME CLOCK MODULE $29.95 

Operate a realtime clock without the Radio Shack 
Expansion Interface. Simple three wire hookup. 
Uses a crystal timebase for maximum accuracy. 
Also available: RTC-2. Same as above but plugs 
into expansion connector. RTC-2 $49.95 

AUTODIALER $13.95 

Now your TRS-80 can dial /our phone with the 
touch of a single key! Stores up to fifty numbers. 
Includes software on cassette and all hardware. 

LIGHTPEN IIB $29. 95 

Play games with the TRS-80 without using the 
keyboard! Uses include educational packages, 
games, etc. Includes demonstration games pack- 
age on cassette, and all hardware. More software 
will be available soon. 

****WE PAY ALL SHIPPING IN THE U.S.**** 
N. J. residents please add 5% sales tax 

LDS ELECTRONICS 
P.O. BOX 3054 ^L29 
WAYNE, N.J. 07470 



WE WILL NOT BE 
UNDERSOLD!!! 

Find the best price you can in this 
magazine on a box of 10, 6%" Verbatim 
diskettes and 




(Low discount price — S26.50) 

THAT'S OUR PRICE 




I 1.1! 

Villi",: 



^A101 



4636 Park Granada 158 
Calabasas California 

913Q2 (213)9921970 



'Offer good 'till December 31, 1979, as 
long as supply lasts. Price includes 
shipping in the US except for Alaska & 
Hawaii. 



APPLE PRODUCTS 

Apple II 16K Plus $995.00 

Apple Disk w/Controller 529.00 

Apple Disk w/o Controller 475.00 

Apple Integer Card 180.00 

Pascal Language SYS 450.00 

High Quality 16K RAM Set 89.00 

BPI General Ledger SYS 300.00 

Plan Modeling System 95.00 

MNTN. HDWR. Clock Board 175.00 

Trendcom 100 Printer 375.00 

Trendcom 200 Printer 595.00 

Centronics 779 Printer 

w/lnt. Card 1395.00 

Graphics Tablet 749.00 

Apple Writer Program 69.00 

D.C. Hayes Micromodem II 349.00 

OHIO SCIENTIFIC 

Cl-P Personal Computer $329.00 

Morse Code Transceive Program 

for Challenger Cl-P Computer 

Send & Receive CW 14.95 

Space Shuttle Simulation 
Program for C1-P 
Computer 14.95 

OLENSKY BROS., INC. 

COMPUTER SALES DIVISION 
3763 Airport Blvd. • Mobile, AL 36608 
(205)344-7448 ^ 17 

WE PAY SHIPPING 



Wsf 



HOW TO MAKE MONEY 

WITH YOUR PERSONAL 

COMPUTER 

NEW 224-page research report, HOW TO MAKE MONEY 
WITH COMPUTERS -by Jerry Felsen, Ph.D. -shows 
you more than 30 high-profit computer business and in- 
vestment opportunities: 

• How to use personal computers tor stock market and option 
trading 

e27 start-at-home computer businesses including consulting, 
contract programming, sottware packages, free-lance writing, 
systems houses, seminars, service bureaus, software houses, 
marketing computer supplies and accessories, repair and 
maintenance services, the independent sales representative, 
used computer dealerships, finder's fee opportunities, cor- 
respondence courses, computer stores, grant supported ven- 
tures, newsletters . . . and 10 more 

• How to invest in securities of the Computer & Information In- 
dustry for above-average returns 

• How to predict future direction of stock market trends with 
80% accuracy . . . advanced investment decision models for 
market timing and stock selection based on artificial in- 
telligence techniques 

• How to double your money in less than one year by trading in 
listed options 

• Plus — computer technological forecasting, marketing . . . and 
much, much more 

EXAMINE FREE FOR 10 DAYS. Write for this information-packed 
handbook today. Shipped postpaid with a 10-day money-back 
guarantee. Enclose this ad and your check tor $15.95, together 
with your name & address, and mail to MAN-COMPUTER 
SYSTEMS, INC.; Suite K2; 84-13 168th St.; Jamaica, NY. 11432. 
(New York residents please add sales tax.) 

Dealer inquiries invited. 



s?fc 



10$^ 



$395.00 



Factory-checked Teletype unit; keyboard and printer, 
standard 8-level ASCII, 20 ma signal input, half or full 
duplex. Datapoint CRTs from $495.00 shipped FOB 
Washington, D.C. Add $15 packing. 



TELECOMMUNICATIONS SERVICES CO 
Box 4117, Alexandria, Va. 22303 
703-683-4019 



•T26 



JOYSTICKS 

AND 

SOFTWARE 

FOR 

OHIO SCIENTIFIC 

JOYSTICKS 

Two full eight-directional joysticks including fire 
button, for all systems including new C4 and C8 

"Please specify system $24.95 
"Price includes shipping 

Completely Assembled and Tested 
Includes Sample Tank Game 

DUELING TANKS 

Uses joysticks for fast-moving fun 

"Cassette (includes listing) $4.95 
"Listing only $2.95 

Send $1.00 for complete software catalog. 
(FREE with JOYSTICKS) ^ A 117 

AURORA SOFTWARE ASSOCIATES 

353 S 100 E #6, Spnngville. UT 84663 



iS Reader Sen/ice index— page 241 



Microcomputing February 1980 165 



Kid Korner 



John Eric Victor, President 
Program Design, Inc. 
1 1 Idar Court 
Greenwich CT 06830 



With this program, kids can draw pictures and develop problem-solving skills. 



Kids like to draw pictures. It 
is only natural that the first 
experience many children have 
with a computer terminal is 



making computer pictures. This 
activity is not only fun, it also 
has tremendous educational 
potential. 



To draw a computer picture, 
the computer artist must first 
analyze the image and break it 
down into its component parts 



PRINT: PRINT 



10 REM COMPUTER JIGSAW PUZZLE IN APPLE BASIC 
20 REM BY JOHN ERIC VICTOR 

22 DIM A(20): REM ONE MEMBER OF THE ARRAY FOR EACH LINE IN PUZZLE 

23 FOR X= 1 TO 20: A(X)= 0: NEXT X 

30 REM SET STRING VARIABLES FOR EACH LINE IN PUZZLE 

31 DIM A$(40), B$(40), C$(40), D$(40), E$(40), F$(40), G$(40) 

32 DIM h$(40), I$(40), J$(40), K$(40), L$(40), M$(40), N$(40) 

33 DIM O$(40), P$(40), Q$(40), R$(40), S$(40), T$(40) 

40 REM VARIABLES FOR NAME OF PIC 

41 DIM W$(20), Z$(20j 
45 PRINT 

50 PRINT: PRINT "THIS IS THE GAME OF COMPUIER JIGSAW." 

60 PRINT "IT IS PLAYED BETWEEN TWO PLAYERS." 

65 PRINT "ONE PLAYER DRAWS A PICTURE, AND THE" 

68 PRINT "SECOND TRIES TO GUESS WHAT IT IS BY" 

70 PRINT" "LOOKING AT PARTS OF THE PICTURE.": PRINT: 

75 PRINT "FIRST PLAYER, DRAW YOUR PICTURE—" 

77 PRINT "(SECOND PLAYER, DON'T LOOK!)": PRINT 

80 INPUI Aij>, B$, C$, D$, E$> F$, G$, H$, 1$, J$ 

81 INPUT K$, L$, M$, m, 0$, P$, Q$, R$ , S$ , T$ 
85 INPUT "WHAT IS THE NAME OF YOUR PICTURE?" ,W$ 
90 PRINT: PRINT "NOW WE CLEAR THE SCREEN..." 
95 FOR X= 1 TO 1000: NEXr X: FOR X= 1 TO 23:PRLNT: NEXr X 

100 PRINT "PLAYER 2, WHAT LINE OF THE PICTURE" 

101 INPUT "DO YOU WANT TO SE£,",Y 
105 IF Y>20 OR Y<=0 THEN 100 
108 A(YJ= 1: N= N+l 

120 REM IF ARRAY KIM.m 1 THEN PUZZLE PART PRINTED 

121 IF A(lj >0 THEN PRINT A$ : GOSUB 500 
130 IF A(2) >0 THEN PRINT B$ : GOSUB 500 
140 IF At 3) >0 THEN PRINT C$ : GOSUB 500 
150 IF A(4)>0 THEN PRINT D$ : GOSUB 500 
160 IF A(5)>0 THEN PRINT E$ : GOSUB 500 
170 IF A(6)>0 THEN PRINT F$ : GOSUB 500 
180 IF A(7)>0 THEN PRINT G$ : GOSUB 500 
190 IF A(8)>0 THEN PRINT H$ : GOSUB 500 
200 IF A(9)>0 THEN PRINT 1$: GOSUB 500 
210 IF A(10)> THEN PRINT J$ : GOSUB 500 

GOSUB 500 
GOSUB 500 
GOSUB 500 
GOSUB 500 
GOSUB 500 
GOSUB 500 
GOSUB 500 
GOSUB 500 
GOSUB 500 



220 IF A(11J>0 THEN PRINT K$* 
230 IF A(12)>0 THEN PRINT L$ : 
240 IF A(13)>0 THEN PRINT M$ : 
250 IF A(l4,)> THEN PRINT N$ : 
260 IF A(15)>0 THEN PRINT 0$: 
270 IF A(l6)>0 THEN PRINT P$ : 
280 IF AU7)> THEN PRINT Q$ : 
290 IF A(18)>0 THEN PRINT R$: 



300 IF A(19)>0 THEN PRINT S$ 

310 IF A(20)>0 THEN PRINT T$ : GOSUB 500 

315 PRINT: INPUT "WHAT DO YOU THINK THE PICTURE IS?",Z$ 

330 IF Z$= W$ THEN 2000 

335 IF N= 20 THEN 1000 

340 PRINT "TRY AGAIN...": GOTO 100 

500 IF A(Y)= THEN PRINT: RETURN: REM LEAVES BLANK LINE 

1000 PRINT "THAT WAS ";N ; " TRIES. HERE IS WHAT THE PICTURE WAS:" 

2000 PRINT "CORRECT! YOU GUESSED IT IN ";N;" TRIES." 

2005 INPUT "PUSH RETURN TO SEE THE WHOLE PICTURE", X$ 



GOTO 2010 



PRINT L$ 
PRINT 0$ 



PRINT C$ 
PRINT H$ 



2010 PRINT A$: PRINT B$ 

2020 PRINT F$: PRINT G$ 

2030 PRINT K$: 

2040 PRINT P$: 

^050 PRINT 

20D0 PRINT W$, "NUMBER OF TRIES 

?000 END 



PRINT D$: PRINT E$ 

PRINT 1$: PRINT J$ 

PRINT M$: PRINT N$ : PRINT 0$ 

PRINT R$: PRINT S$ : PRINT T$ 



";N 



Program listing. 



of lines, curves, shades, etc. 
Then these components must 
be translated into the images, 
such as ASCII characters or 
small graphic spots on a video 
screen, the computer terminal 
can make. This type of problem- 
solving skill, the ability to break 
tasks down into component 
parts, is one of the intellectual 
foundations of computer pro- 
gramming. 

Computer art is an excellent 
way to introduce a potential 
programmer to the world of 
computers. It is something like 
a glorified jigsaw puzzle. If we 
use a BASIC program to gener- 
ate a picture, then each line of 
the program becomes a differ- 
ent piece of the puzzle. 

What I am proposing in this 
Kid Korner is a game that will 
develop both problem-solving 
skills and the ability to mentally 
fill in incomplete pictures (which 
is another component of intelli- 
gence). I call it the computer jig- 
saw-puzzle game. One player 
"draws" a picture on a comput- 
er video terminal and then re- 
moves it from the screen. A 
second player then tries to 
guess what the picture is by 
calling up "pieces" of the puz- 
zle on the screen. 

The program listing is written 
in Apple BASIC for the Apple II 
computer. As with past Kid Kor- 
ner articles, I have tried to avoid 
any programming techniques 
unique to the Apple system, so 
that this program can be easily 
modified to run in any BASIC 
supporting string variables and 
logic. I was able to run this pro- 
gram in less than 4K of RAM on 
the Apple. The Apple II video 
display is 40 characters by 24 
lines. Those readers with 16-line 
video displays must remove 



166 Microcomputing February 1980 



some lines from the puzzle. 

In the first part of the pro- 
gram one player enters a pic- 
ture on the screen a line at a 
time using ASCII characters 
(see first photo in series). (A 
younger child will have an 
easier time with this part of the 
program if he or she first makes 
the picture on graph paper.) Af- 
ter the player finishes the pic- 
ture, he or she then types in the 
name of the picture and clears 
the screen. In order to keep 
arguments from arising con- 
cerning the name of the pic- 
ture, a list of possible pictures 
can be drawn up before starting. 
The name of the picture then 
must appear on that list. 

The second player now tries 
to guess what the picture is. He 
or she types in a picture line 
number (from 1 to 20), which 
then appears on the screen 
along with previously called line 
numbers. The player then tries 
to guess the picture. If the guess 
is correct, the program shows 
the complete picture and how 
many guesses the player took 
to identify it. The second player 
is allowed 20 tries. 

The program itself is clear- 
cut. Each line of the picture is 
stored in a separate string vari- 
able. Since the Apple uses a 
40-character line, each string 
variable is dimensioned to 40 
characters. Line 90 is used to 
clear the screen after the pic- 
ture is entered, but it can be 
replaced by a screen clear in- 
struction (on the Apple II this is 
CALL-936). 

Line 23 sets up a single- 
dimension array that contains 
a "flag" for each line of the puz- 
zle. For example, if a player 
calls for picture line 3, line 108 
in the program sets A(3) equal 
to 1. Now each time the pro- 
gram loops through lines 120 to 
315, line 3 of the picture will 
appear. A blank line appears for 
each line of the picture that has 
not been called for by the player. 

The Apple II 

as a Teaching Machine 

Writing this program gave 
me an opportunity to use an 
Apple II computer. My first im- 
pression of the Apple II (before I 
had a chance to use one) was 
that it was a "gee-whiz" fun- 



and-games system that prob- 
ably wasn't worth the extra 
cost when compared to similar 
appliance computers such as 
PET or the TRS-80. (Appliance 
computers are those systems 
with computer and keyboard in- 
tegrated into one unit with the 
BASIC interpreter in read only 
memory.) However, after having 
used one, I have had a 
180-degree change in opinion. 
Most of the fun-and-games 
features of the Apple II have 
significant educational ap- 
plications. 

One of the distinguishing 
features of the Apple II is the 
color-graphics capability. For 
young children this can be im- 
portant not only for motivation 
and interest but also for the 
learning process. For example, 
a child can be taught to recog- 
nize the letter t, but when the 
color of the letter is changed, 
the child may not recognize the 
resulting figure as being the 
same letter t. The use of color 
can significantly improve a 
child's discrimination ability. 

Another feature is sound 
generation. Apple II recognizes 
a bell character and has the 
ability to generate a whole 
range of sounds and musical 
notes. The more strongly a 
point (or reward) can be made in 
an educational program or 
game, the more likely learning 
is going to take place. Backing 
up visual information with 
sound is one way to strengthen 
the learning process. Sound 
can also be used to focus the 
program user's attention to 
something happening on the 
video screen (as in pong-type 
games where hitting or missing 
the blip produces characteristic 
sounds). The Apple II sound 
system can also be used to 
teach music theory. 

A third feature is that the 
BASIC allows for direct key- 
board entry of responses, by- 
passing the RETURN key. This 
means that the program can 
respond much more quickly to 
a child's inputs. It also means 
that inputs can be simplified 
for young children by elimimat- 
ing the need for hitting the 
RETURN key after each input. 

A fourth feature is the ability 
to input in BASIC from two 






Shipbuilding on the screen. 



game paddles. From an educa- 
tional standpoint, this allows 
the programmer to write games 
and simulations involving more 
than one participant. The game 
paddles can also save some 
wear and tear on the keyboard. 
As teaching devices, the 



latest generation of appliance 
computers offers substantial 
improvements over Teletype 
terminal systems because of 
its speed, print formatting and 
graphics capabilities. The 
Apple II opens up even more 
possibilities.! 



Microcomputing February 1980 167 



Kirk A. Godfrey-Kerekes 
1509 S. El wood 
Tulsa OK 74119 



Electronic Systems' 

Modem Kit 



You might try using this inexpensive modem kit in conjunction with "dialing up" (see p. 48). 



At $27.50 for the complete 
kit, or $7.60 for the bare cir- 
cuit board, the Electronic Sys- 
tems (Box 21638, San Jose CA 
95151) Modem Kit is certainly 
the least expensive route that I 
know of for tying your computer 
to the phone lines. It is, in fact, 
less than one third the cost of its 
nearest competitor. 

Frankly, the low cost worried 
me when I ordered the kit. If it 
worked, it would be a steal; but 
$27.50 for an electronic lemon is 
no bargain. 

And so I was not unduly sur- 
prised when it refused to work 
properly after assembly. I was 
surprised, however, with the 
ease with which its problems 
could be corrected! 

MODulation, DEModulation 

Let's define some terms. A 
modem is a device that converts 
the digital signals from a com- 
puter or terminal to bursts of 
tones that are suited to trans- 
mission over common tele- 
phone lines. The modem can al- 
so detect the tones sent by an- 
other modem and convert them 
back to digital signals that a ter- 
minal or computer can cope 
with. These days, modems may 
also have the ability to automat- 
ically dial and/or receive calls 
and may be compatible with sev- 
eral different standards. 

A full duplex modem is one 
that can transmit and receive si- 



multaneously. This requires dif- 
ferent sets of tones for transmit' 
and receive, and also requires 
that one modem's transmit 
tones be the same as the other's 
receive tones. The standard re- 
sponse to these requirements is 
to separate modems into two 
functional groups: originate mo- 
dems, which transmit low-band 
tones (see Table 1), receive high- 
band tones and generally origi- 
nate the call, and answer mo- 
dems, which transmit high 
tones and receive low tones. 
Most professional modems may 
be switched from one type to the 
other; sometimes the switching 
is automatic. 

The most common modem for 
use over unconditioned phone 
lines is the Bell 103 type. The 
data rate is kept at or below 300 
baud (about 30 character(s)), 
which minimizes problems aris- 
ing from group delay, noise and 
the generally unpredictable 
quality of voice-grade phone cir- 
cuits. The official Bell 103 stan- 
dards are summarized in Table 
1. 

The Electronic Systems Circuit 

The ES Modem is based on 
two ICs: the XR-221 1 (Exar), used 
for receive tone detection, and 
the LM 567, used to generate the 
transmit tones (see Fig. 1). The 
2211 is designed with just this 
sort of application in mind, and 
its use is the dominant reason 



Data rate: 

Frequency, transmit: 
Frequency, receive: 
Output level: 
Data format: 



300 baud or less 

1270 Hz (logic 1), 1070 Hz (logic 0) "low band" 

2225 Hz (logic 1), 2025 Hz (logic 0) "High band" 

Nominally, 13 dB below average voice levels 

No official standard, but the de facto data format statement is 
1 start bit, 8 data bits and 1 stop bit. No parity. This is compati- 
ble with the Kansas City Standard format, so that any serial 
port currently driving a KC cassette unit should be compatible 
with most other systems if used with the modem. 



Table 1. Basic Bell 103 specifications. 



behind the low cost of the mo- 
dem. As supplied, the modem is 
intended for originate mode on- 
ly; however, a few part changes 
(Table 2) can convert it to an- 
swer mode. In either mode, it is 
full duplex, Bell 103 compatible. 

The Electronic Systems kit 
(part #109) consists of a 2 V* -inch 
square circuit card, a bag of 
parts and an assembly/calibra- 
tion flyer. With my flyer also 
came an errata sheet bearing a 
revised schematic, pictorial and 
parts list. 

Assembly is simple and to the 
point; there were no defects on 
the circuit card, and the layout 
was not crowded, despite the 
small board size. Sockets are 
provided for the three ICs, and 
there is no ambiguity as to parts 
placement. 

The instruction flyer is well 
written and organized and does 
not contain any annoying omis- 
sions. A theory of modems and a 



Part 




New Value 


C3 




.039 uF 


C6 




.01 uF 


C7 




.001 uF 


C8, C12 




REMOVE 


R4 




100K 


Table 2. 


Component changes 


for answer 


modem. 



theory of this device are includ- 
ed. The instructions for assem- 
bly are not the step-by-step 
Heathkit type, but they are quite 
adequate. 

Calibration requires at least a 
fairly accurate function genera- 
tor capable of delivering the Bell 
103 tones, which are bounded 
by 1070 and 2225 Hz. The trans- 
mit and receive frequencies are 
adjusted by two one-turn trim- 
mers, and the two adjustments 
do not interact. The transmit 
tones (R9) may be set by ear if 
small speakers are connected to 



168 Microcomputing February 1980 



■& 



■)!■ 



MODEM IN El •- 



")h 



~l 



s 



DATA OUT E4o- 



~l 



^<h 



p 



5. IK 



XR 221 I 



14 



15 ^p 022 



12 



I8K 
-wv- 



R6 
5K 



200K 



C6 

.0047 



Jh 



"^ 



I00K 



5I0K 
-wv — 




C7 
0015 



DATA IN 




C8 
0022 



2N2222 



.1 



LM567 



T 



-» 



C5 
.005 



:c9 

.01 



IM 



:ci2 

.01 



2.7M 
-vw — 






nrvjp 



330 
• w * 7 »E5 



100 MODEM OUT 



l>- ^ 



2/3 74C04 



F/g. 1. Original Electronic Systems circuit. 



the outputs of both the function 
generator and the modem. The 
receive adjustment (R6) requires 
some method of detecting a 
state change at the modem's 
data output: a voltmeter, oscillo- 
scope or even an I/O port with a 
simple program to constantly 
verify the status of the port. 

Drifting Caps 

You might have some difficul- 
ties with the receive adjustment, 
and for good reason. With the 
parts supplied, it drifts badly. 
The culprit is C3, the capacitor 
that sets the center frequency of 
the receive detector's phase- 
lock loop. 

In my kit, the .022 ceramic ca- 
pacitor specified in the parts list 
had been replaced by two .01 uF 
ceramics, which I dutifully in- 
stalled. When I couldn't get the 
receive threshold to stay put for 
more than a few minutes at a 
time, I dug up an Exar data book 
and looked up the XR-2211 used 
in the modem. There I found the 
same circuit as the receive por- 
tion of the modem, right down to 
the parts' values. From the 
manual, I gleaned two important 
bits of information: that Elec- 
tronic Systems had specified 
imprecise, drift-prone ceramic 
caps in a number of places that 
they didn't belong, and that they 
hadn't made full use of the 
XR-2211 's capabilities. 



After scouring my parts draw- 
ers, I found Mylar and poly caps 
sufficient to replace all of the 
ceramics. Suddenly, the receive 
detector stopped drifting, and I 
began to have some genuine 
hopes of getting a useful device 
out of all this. 

Carrier Detect 

I then added a useful feature 
that the modem's designer had 
failed to include. Implicit in the 
XR-2211 chip is a carrier-detect 
subsystem consisting of an 
open-collector type output that 
switches to ground whenever 
there is not a good carrier pres- 
ent. The circuitry required for 
this option is minimal and easily 
tacked onto the Electronic Sys- 
tems board. Fig. 2 shows the ad- 
ditional parts needed to imple- 
ment the carrier detect. 

When in place, the carrier- 
detect system ensures that out- 
put "trash" is kept to a minimum 
by disabling the data output 
when a good carrier is not pres- 
ent. Without the carrier detect, 
the modem puts out an intermit- 
tent stream of ones and zeros as 
it tries valiantly to lock onto any 
and all input noise. 

The carrier-detect output at 
pin five, which complements pin 
six, may be used with serial 
ports that support a separate 
carrier-detect input, such as the 
MC6850 used in my OSI C2-8P. 



Like pin six, it is an open collec- 
tor and thus requires a pull-up 
resistor. 

The Final Solution 

Unfortunately, even with all 
these improvements, the mo- 
dem most likely will still not 
work when coupled to a real 
phone line. The difficulty is that 
the transmit tones totally over- 
whelm the receive detector's in- 
put, rendering it incapable of 
responding to the much fainter 
high-band tones coming from 
the modem at the other end of 
the phone line. This is true 
whether you use Electronic 
System's acoustic coupler 
method or their transformer 
technique. 

After experimenting with ac- 
tive filters and similar approach- 
es, I settled on an effective and 
simple method (Fig. 3). With the 
addition of two trimpots, a resis- 
tor and an inexpensive, junk box 
audio transformer, the problem 
is solved. The effect of the cir- 
cuit is to cancel out virtually all 
of the low-band output at the 
modem's input while not inter- 
fering with high-band input. To 
adjust, connect the output of 
the transformer to the red and 
green wires of a standard, 
single-line telephone. The tele- 
phone should not be connected 
to the phone lines. Also connect 
a 600 Ohm (560 will do) resistor 
across the output of the trans- 
former. 

The resistor and the tele- 
phone provide a fair simulation 
of an active phone line, at least 
as far as the modem is con- 
cerned. Take the phone off the 
hook and listen as you adjust 
R13. The low-band tone should 
be at a level that is comfortable 
to listen to over the phone, but 
loud enough that there is no 
doubt as to its presence. 



MODEM IN 



El 



♦ 5V 



rF 



IN9I4(4) 



R14 is adjusted with the aid of 
a crystal earphone, audio signal 
tracer or oscilloscope. Whatever 
you happen to be using, attach it 
to the input (E1) of the modem 
and adjust R14 for the minimum 
amount of low-band tone. In my 
system, the tone nulls out virtu- 
ally 100 percent. 

Assuming your frequency 
standards are accurate, this is 
the last adjustment you should 
need to make. To interconnect 
with the phone line itself, I rec- 
ommend the use of a tandem 
coupler (Radio Shack #279-369 
for standard phone sets or 
279-357 for modular phone sets), 
which allows connection of both 
the telephone and the modem at 
the same time. 

The phone line interface may 
be left connected at all times, as 
the output capacitor's dc block- 
ing and low frequency imped- 
ance make it invisible to tele- 
phone equipment. In fact, you 
must leave your phone off the 
hook in order to use the modem. 
This allows easy monitoring of 
the line during use and seems to 
cause no problems. 

For convenience, I suggest 
that you place a switch or relay, 
in parallel with the output ca- 
pacitor. A fast enough relay, 
driven by an I/O port, can be 



Cd 



Rd 
470K 



;:5.IK 



DATA 
OUT 



-o- 



XR 22I I 



Fig. 2. This figure shows the 
carrier-detect option. Pins 6 and 
7 are jumpered together, and 
C(D) and R(D) are added to the 
option. 



(RELAY) 



$RI4 
-?20K 
10 TURN 



E5o- 



MODEM OUT 



IK-IOKH 



RI3 
5K 




I 
.19 

I00VDC | 

_L 



^ 



500-600X1 



TO PHONE 

OR 

PHONE LINE 



Fig. 3. Output interface. Transformer is miniature audio type. 1N914 
diodes clamp any voltage spikes that might make it through to the 
modem. 



Microcomputing February 1980 169 



♦ VCC I 



INPUT 2 



LOCK-DET FILTER [IT 



GROUND 4 



LOCK DET 5 



LOCK DET. 6* 



DATA OUTPUT 




— TIMING CAP 



2 TIMING RESISTOR 



LOOP DET OUT 



REF VOLTAGE OUT 



T"l NO CONNECTION 



8 FSK COMP. INPUT 



Fig. 4. XR-2211 block diagram. 



used for automatic dial-up— a 
feature found normally only on 
quite expensive devices. 

You may wish to final-trim the 
last two adjustments after final- 
ly installing the modem at the 
phone line, but it will probably 
not be necessary. 

Final Thoughts 

In my research for this article, 
I found that you can purchase 
the parts to populate the Elec- 
tronics Systems Modem for 
about $22, including the pur- 
chase of the empty circuit card 



from ES. It is, of course, much 
more convenient to purchase 
the complete kit as a unit, even if 
you do throw away and replace 
four of the capacitors. 

Were I to do it again, I would 
probably buy the parts separate- 
ly and put the $5.50 difference 
toward packaging the unit up 
nicely. I would also try to get 
polystyrene caps for all of the 
critical values, i.e., C3, C5, C6, 
C7, C8, C9 and C12. While I have 
had no stability problems with 
the modem since I got rid of the 
ceramics, it never hurts to in- 



dulge in a little overkill on the 
quality of critical components. 

After the modifications, the 
Electronic Systems Modem 
works remarkably well. I have 
used it to ring up every local tele- 
phone-accessible system I 
know, and it has performed ad- 
mirably. If you can find another 
hobbyist in your area who has a 
103-type modem, you will be set 
for much convenient program 
exchange, long-distance game- 
playing and other similar activi- 
ties. Even if you pay for local 
calls by message units, they are 
still less expensive (and faster) 
than burning $1 a gallon gas! 
It's probably cheaper than mail- 
ing a cassette (not even count- 
ing the cost of the cassette), and 
it is certainly more fun. 

Low-cost modems such as 
this one make local "electronic 
bulletin boards" much more 
practical for computer clubs or 
dealers. And, of course, if you 
have the proper access codes 
and a terminal or terminal-simu- 
lator program for your comput- 
er, you can access the large 
time-sharing systems. For 



$27.50, a modem may turn out to 
be the most useful and enter- 
taining peripheral bargain avail- 
able to the computer hobby- 
ist. ■ 

An Aside on Telephone Inter- 
connection 

There are two basic ways to 
interconnect the modem to the 
phone line: electronic and 
acoustic. Electronic coupling 
has multiple advantages unless 
frequent portability is required. 
Direct connection to the 
telephone lines is, of course, 
covered by local tariffs as well 
as recent FCC decisions. Use 
care. I do not cover acoustic 
coupling in this article, as it 
materially increases the cost 
and complexity of the project, 
defeating the point of a low-cost 
device. In the case of multiple- 
line phones or a strong personal 
desire to avoid tinkering with 
phone lines, the modem leads 
may be clipped to the wires go- 
ing to the receiver in the hand- 
set. If you own your own phone, 
you can even install a jack to 
make interconnection easier. 




to be a Charter Subscriber 






o 



Subscribe today and take advan- 
tage of this super charter mem- 
ber offer ... 12 months of 80 
MICROCOMPUTING for $12 . . . that's half the 
newsstand price . . . PLUS, if you subscribe now, 
we will send you FREE OF CHARGE a giant book 
of SO PROGRAMS for the TRS-80 * . 

AN ALL NEW PUBLICATION FOR THE TRS-80 

SO MICROCOMPUTING is the only major publica- 
tion that addresses your TRS-SO directly. SO con- 
tains a wealth of information designed to appeal 
to every owner of the TRS-SO . . . from business, 
personal, and educational software to upgrading 
your system. You'll stay on top with this en- 
cyclopedia of information as the market— and 
the world— opens to the TRS-SO. 

LAST CHANCE . . . 

Utilize your TRS-SO to its fullest potential . . . 
have your charge card handy and subscribe to- 
day by calling toll-free (SOO) Z58-5473. SO PRO- 
GRAMS will be sent to you upon the payment of 
your subscription. 

Or write: 

SO Microcomputing • POB 981 • Farmingdale NY 11737 

•(TRS-80 is a trademark of the Tandy Corporation.) 
Canada: $12 per year, US currency. Other foreign: $20 one year only, US currency. 



ANNOUNCING: 



NEW! 



MICROSTAT 



A complete statistics package for business, scientific, 
education and research work. No other package has 
the features of MICROSTAT. For example: 

• File oriented with COMPLETE editing 

• A Data Management Subsystem for editing, sort- 
ing, ranking, lagging, data file transfers PLUS 11 data 
transformations (e.g., linear, reciprocal, exponential, 
etc.) • Frequency distributions • Simple and multiple 
regression • Time series (including exponential smooth- 
ing) # 11 Non-parametric tests • Crosstabs/Chi-square 

• Factorials (up to 1,000,000!), permutations, combinations 

• 8 Probability distributions • Scatterplots 

• Hypothesis test (Mean, proportion) • AN0VA 
(one and two-way) • Correlation • Plus many 
other unique features 

Users manual: $10.00 (credited towards purchase) 
and includes sample data and printouts. Uses 
NORTH STAR BASIC 32K of memory, one or two disk 
drives (2 recommended). Printer optional. Price: $200.00 



master charge 

THi INTERBANK CASD 



P.O. Box 68602 
Indianapolis, IN 46268 



^E34 

Phone orders: 

(317)253-6828 



170 Microcomputing February 1980 



MALL 



X?1MA 



•^S51 



TRS 



K-Fystem PRODUCTS 



MALL 
YSTEM 



MACHINE LANGUAGE GAMES 

AIR RAID, BARRICADE or RSL-1: - $10.00 each, all 3 for $25.00 

Three popular machine language games now at new lower prices! 
All run on both Level-1 and Level-2 and require only 4K of 
memory. All may be converted for disk using DCV-1 . 

AIR RAID: Shoot down high speed aircraft with a steerable 
ground based missile launcher! Aircraft explode dramatically 
when hit, sometimes destroying other nearby planes! Score is 
tallied for each hit or miss, and the highest score is saved to 
be challenged by other players. Provides hours of fun for you, 
and a super program for entertaining friends! 

BARRICADE: "BREAKOUT" for the TRS-80! Break through 5-wall 
Barricade with high-speed ball and keyboard controlled paddle! 
Trap the ball among the walls and watch it destroy the 100 
blocks! Select 96 different options to challenge expert or 
beginner. 3 scores with the best of each saved to be challenged 
by other players. 

RSL-1: Enter graphic patterns with repeating keyboard! Save 
patterns on tape (4 furnished). Play LIFE, a game of birth, 
growth and death of a colony of cells. FAST - about 1 second 
per generation! Hours of fascinating patterns! 

ADVENTURE! $14.95 each, (3 or more, $12.50 each) 

Level-II 16K machine language versions of Adventure, the current 
rage of the big time-share computers! 6 versions: 
1-Adventureland, 2-Pirate's Adventure, 3-Mission Impossible, 
4-Voodoo Castle, 5-The Count, and 6-Strange Odyssey. Each is a 
challenge that can take weeks to solve! Furnished on tape; 
convert to disk with DCV-1. 



UTILITIES 



RSM-2: AN ADVANCED TAPE MONITOR FOR 16K TRS-80' S - $26.95 
RSM-2D: THREE MONITORS FOR TRS-80 DISK SYSTEMS - 29.95 

22 commands to control your TRS-80 Z-80 processor! Examine 
ROM's, test RAM, program in machine language, read/write machine 
language tapes, and much more! SYMBOLIC DUMP will disassemble 
memory into Z-80 mnemonics! HEX and two ASCII memory dumps; 
EDIT, MOVE, EXCHANGE, VERIFY, FILL, ZERO, TEST, or SEARCH 
memory, read/write SYSTEM tapes, enter BREAKPOINTS, PRINT with 
TRS232 or Centronics, and read/write disk sectors directly! 
Radio Shack uses RSM; see page 4-17 of your disk manual! RSM-2 
tape loads at top of 16K LEVEL I or II; RSM-2D disk includes 3 
versions for 16K, 32K and 48K. 

RSH-2 RELOCATOR: PUT RSM-2/ 2D ANYWHERE IN MEHORY - 9.95 

This new program loads with the RSM-2/2D "L" tape command, then 
asks you where you want RSM-2 located. Your answer causes a new 
version to be created and executed! Instructions included for 
saving your new versions. 

DCV-1: CONVERT SYSTEM PR06RAMS TO DISK FILES -$9.95 

EDTASM, The Electric Pencil, Air Raid, RSL-1, ESP-1, T-BUG, or 
nearly any SYSTEM tape can be executed from disk, even if it 
interferes with TRSDOS! DCV-1 loads system tapes into high 
memory and adds a block-move routine. TAPEDISK is then used to 
create a disk file. When accessed from disk, the program loads 
into high memory, moves itself to its correct address, then 
jumps there and executes! New version works with TRSDOS 2.2. 

BASIC-1P: LEVEL-1 BASIC WITH PRINTING! - $19.95 

Loads into the top 4K of 16K TRS-80' s and uses any LEVEL-I BASIC 
program or DATA tape (up to 12K in length) without conversion! 
NEW commands, LPRINT and LLIST to print with either our TRS232 
or the Radio Shack printer! Loads from tape or disk (furnished 
on tape). All LEVEL-I abbreviations and functions supported! 



CALIFORNIA Residents please add 6% state sales tax 



MODEL-II TRS-80 



Small System Software is currently developing several programs 
for the Model II TRS-80. An enhanced RSM monitor with many new 
features will be available about January. We are adapting CP/M 
(tm Digital Reaserch, Inc.) in conjunction with Lifeboat 
Associates. CP/M for the Model II will be a "standard" version 
and will run all existing CP/M software, including Cobol, 
Fortran, C-Basic, M-Basic, business and accounting packages, 
etc. Write for details! 

PROFESSIONAL SOFTWARE 

MICROSOFT SOFTWARE PACKAGES - $80.00 each, $150.00 for both 

ASSEMBLER PACKAGE: Macro Assembler uses Zilog mnemonics and 
produces relocatable code! Includes Linking Loader, Editor and 
Cross Reference Utilities. Requires 32K and 1 disk drive. 

FORTRAN PACKAGE: A true Fortran Compiler (faster than Basic). 
Linking Loader combines Fortran, Assembly and Library modules 
into one program! Editor and extensive Library ere included. 
Requires 32K and at least 1 disk drive. 

THE ELECTRIC PENCIL FOR TRS-80 DISK SYSTEMS - $150.00 

THE ELECTRIC PENCIL FOR TRS-80 TAPE SYSTEMS - 99.95 

Write text, delete, insert, or move words, lines or paragraphs, 
save text on tape (or disk), then print formatted copy with our 
TRS232 or Centronics printer (RS-232-C with disk version). 
Right justification, page titling and numbering, transparent 
cursor and repeating keyboard. Upper case only, or lowercase 
with modification. Level-1 or 2 16K (tape version). 

CP/M OPERATING SYSTEM WITH TRS232 SOFTWARE - $145.00 

SMALL SYSTEM SOFTWARE/LIFEBOAT ASSOCIATES version of CP/M. 
Includes TRS232 and RS-232-C software, lower-case support, 
debounce, DCV-2 and other unique utilities. CP/M Editor creates 
and modifies all files. Assemble from disk, placing HEX and 
PRINT files back onto disk! Includes DDT (Dynamic Debugging 
Tool), PIP (Peripheral Interchange Program), and more! CP/M is 
a trademark of Digital Reasearch, Inc. 



PRINTER SUPPORT 

TRS232 PRINTER INTERFACE - $49.95 (+$2.00 shipping) 

Assembled and tested output port for TRS-80 printing. Use 
Diablo, Teletype, TI Silent or any RS-232 or 20-mil current loop 
ASCII printer. Expansion interface not required. Use with 
LEVEL-II BASIC, CP/M, BASIC-1P, ELECTRIC PENCIL, RSM-2/2D or 



your own programs! 



order new "FORMATTER" 

TRS232 "FORHATTER 



Standard cassette software included, or 
(below) for enhanced printer control. 



SOFTWARE PACKAGE - $14.95 



Enhanced software for with Level-2 Basic and our TRS232. Page 
and line length control, form feed function, printer pause, 
"smart" line termination, indented continuation lines, keyboard 
debounce, echo screen to printer, etc. Includes BASIC cassette 
and BASIC and machine language source listings. 

PRINTER CONVERSION PACKAGES - $9.95 EACH 

Many programs do not include provisions for printing with either 
our TRS232 or the Radio Shack RS-232-C. We currently offer the 
following tapes for adding printing functions: 

RSP RS-232-C: Adds RS-232-C capability to RSM-2/2D 
PENCIL RS-232-C: For cassette version of Electric Pencil 
EDTASM PRINT: TRS232 and RS-232-C for disk/tape EDTASM 



ESP-1: $29.95 
LST-1 : 8.00 



OTHER TRS-80 PRODUCTS 

Assembler, Editor & Monitor (8080 mnemonics) 
Listing of Level-1 BASIC with some comments 



SMALL SYSTEM SOFTWARE 



iMKtMtllCMO 



BOX 366 



NEWBURY PARK, CA 91320 



v* Reader Service index— page 241 



Microcomputing February 1980 171 



Tom Crawford 
50 Brentwood Dr. 
Stoney Creek, Ontario 
Canada L8G 2W8 



Tiny BASIC 

Square Root Routine 



Story on how this author got squared away with Tiny BASIC. 



Recently I spent three long 
evenings keying Tom Pitt- 
man's Tiny BASIC into my 1802 
system. After making several 
copies on cassette tape, I pre- 
pared to bring Tiny to life. 
Amazingly, it worked the first 
time. Several short programs 
served to satisfy me that Tiny 
BASIC was fully operational. 
(The first program was a count- 
ing and printing loop— with no 
termination! It provided a good 
test of the BREAK key on my 
keyboard.) 

It was time to get down to se- 
rious business. I began search- 
ing all the BASIC games books I 
had accumulated, looking for 
demonstration programs I could 
run. Remember, Tiny lacks float- 
ing point numbers, character 
manipulation, SQR( ), data state- 
ments, dimension statements 



and a few other things. 

This weeded out quite a few 
programs I would have liked to 
try, but I still managed to fill 
several cassettes with games 
such as Tic-Tac-Toe, Acey- 
Ducey, Moon-Lander . . . but 
wait, I didn't notice the use of 
the SQR( ) function in Moon- 
Lander until I was three-quar- 
ters of the way through "hunt 
and pecking" it into my system. 
I wasn't about to waste all that 
effort, so obviously the only 
thing to do was to write a square 
root routine, right? 

The Routine 

At this point my old four- 
function calculator proved use- 
ful again. The hardware had 
long since disappeared into 
various projects, but the in- 
struction manual was still 



200 




I75- 




I50* 




I25- 




I00- 
75- 
50- 




25- 




I 


• ' 1 1 1 — 1 i 



2048 



4096 



8192 



12.288 



16,384 20,480 24,576 28,672 32,768 



Fig. 1. Tiny BASIC Square Root routine. Root ofx = Y n + 1 = Y n /2 + 
x/(2*Y n ), where the first estimate of Y = x/182 + 2. 



n + 1 = 



1/2 ( Yn+ ^) 



Example 1. 



Y 1= — +2 
182 

Example 2. 



around and contained an ele- 
gant little algorithm for finding 
square roots. All that I had to do 
was program this into a little 
subroutine. 

The algorithm is shown in Ex- 
ample 1, where x is the number 
we wish to find the square root 
of, and Y is an approximate 
square root. We simply code 
this into a loop and go around 
the loop until (Y n + -, - Y n ) is less 
than the error we are willing to 



accept. Since Tiny BASIC works 
in Integer, it is acceptable to 
use Y n + 1 =Y n to terminate the 
loop. 

The only other thing we need 
before we can code this is the 
initial estimate of Y, Yj. The 
closer Yt is to the final value of 
Y, the faster the square root 
function will work. Although us- 
ing Y = a constant (say 100) will 
work, I chose to use a straight- 
line approximation of the root 



1000 REM SQUARE ROOT ROUTINE. 

1010 REM B. WORKSPACE IS C 

1020 IF A>1 GOTO 1050 

1030 B = 1 

1040 RETURN 

1050 B = A/182 + 2 

1060 C = (B + A/B)/2 

1070 IF B = C RETURN 

1080 B = C 

1090 GOTO 1060 



RETURNS ROOT OF A IN 



Example 3. 



1000 
1010 
1020 
1030 
1040 
1050 
1060 
1070 
1074 
1075 
1080 
1085 
1090 
1100 
1110 
1120 
1130 
1140 
1150 
1160 



REM SQUARE ROOT ROUTINE. RETURNS ROOT OF A IN 

REM B. WORKSPACE ISC AND D. 

IF A>1 GOTO 1050 

B = 1 

RETURN 

B = A/182 + 2 

D = 

C = (B + A/B)/2 

REM CHECK IF C SHOULD BE ROUNDED UP 

IF (A - A7(2*B)*B*2)>B C = C + 1 

IF B = C RETURN 

REM CHECK FOR OSCILLATION OF RESULT 

IF(B-C) = DGOTO 1130 

D = C-B 

B = C 

GOTO 1070 

REM PICK THE LARGER OF B OR C THEN RETURN 

IF B>C RETURN 

B = C 

RETURN 



Example 4. 



172 Microcomputing February 1980 




2048 



4096 



8192 



12,288 



16.384 20,480 24,576 28,672 32,768 



Fig. 2. Number of iterations of the algorithm required over the 
range CKx<32,7676. 



(see Example 2). 

The term 2 prevents Y n from 
becoming 0, which will result in 
a divide by error in the first 
equation. The factor 182 results 



from consideration of the useful 
range of the routine, and is ap- 
proximately ^32,767 (see 
Fig. 1). 

Note that this routine will not 



handle \T\, but this can be test- 
ed for and handled separately. 
Thus the effective range of the 
square root routine will be: Kx 
<32,767. 

At this point the routine was 
coded up and used in Moon- 
Lander with no apparent prob- 
lem. The routine is shown in Ex- 
ample 3. 

Modification 

Unfortunately, there are still 
two problems with this routine. 
First, for some values of A, 
such as 8, the condition B = C is 
never satisfied. The value of B 
in the case of A = 8 will oscil- 
late between 2 and 3. This is 
caused by the truncation error 
in line 1060 of Example 3, where 



C is calculated. It is necessary 
to modify the routine to watch 
for this situation, pick one of the 
two values as the root and then 
return. 

The second problem is that 
this routine does not return the 
correct root for many of the 
"perfect square" numbers, 
such as 16 and 64! It will be nec- 
essary to correct for this trun- 
cation by rounding up the result 
C if the remainder exceeds .5. It 
is sufficient to check the re- 
mainder of the second term on- 
ly in line 1060. 

The modified routine is 
shown in Example 4. Fig. 2 
gives some indication of the 
speed of the algorithm for var- 
ious input values. ■ 




EXTRAORDINARY 

FOOTBALL 
SIMULATOR SYSTEM 



14 years development on large- 
scale computer --- 3 years of use 
in computer football leagues 



' Statistical analysis of teams, utilizing 

player abilities 
Complete offensive and defensive playbook, 

10 offensive , 10 defensive 
Frightening realism of executed games - - 

fumbles, penalties, interceptions, field 

goals, and much MUCH more 

Exciting graphic display of scoreboard 
and play results on a playing field 

Abilities and averages for kick-off man, 
field-goal kicker, punter, etc. 

Careful analysis of opponent is essential, 
player mismatches and opponent 
tendencies , if properly coached, can 
mean winning or loosing I 

For additional information, or to order, write 

COMREC SYSTEMS CORP. 
3701 KIRBY- SUITE 876 
HOUSTON, TEXAS 77098 »^C180 

To order send $ 19 95 check or money order plus applicable 
tax. and receive playbook. statistical analyzer, 
game simulator, and two teams 



TRS-80 client write-up system. 




■ •«■■> 


o.„. u -. 


(■•Oil 




















Complete General Ledger system written by a 








C.P.A. in public practice and used In his office for 






over one year. Includes General Ledger, 














III II II 














Check Disbursements, 










III 














Journal Entries, 














; zn 














Payroll Tax Programs, 










rr 














Financial Statement, 














l I 














and all necessary file 












I I 














maintenance programs. 










II I 


I I 








Complete operating manual furnished. 


On going 








system support available. 


















1 


















For sample output and information, call or write: 










II I I I I I I I 














Jerry E. Bertram, CPA 




25455 Barton Rd. B-209 




Loma Linda, CA 92354 

(714) 825-2736. 

^ B62 































16K STATIC MEMORY (RAM) 

250 nsec Access Time, Assembled, 
tested, and Guaranteed. $300.00 

Fully Static - TMS 4044 

S-100 Bus - Buffered lines, Dip Sw address in 

2, 8K blocks 4K incr.. Write Protect, Phantom 

disable. Battery backup, fully Socketed. 

Bank Select - Port 40 H (Cromemco Software 

Comp.), 80H or C0H. 

Guarantee - One full year. To order, call for 

Visa, M.C., or C.O.D. ($4 fee.) Personal check 

o.k. M.O. speeds shipping. Stock to 72 hour 

delivery. Illinois residents add 5Vi% tax. 

S. C. DIGITAL " S1M 

P.O. Box 906, Aurora, IL 60507 
Phone: (312) 897-7749 



V 



ACCOUNTS r*VABi I HCX.tH 




BIORHYTHMS $12.95 

SLOT MACHINE $ 9.95 

BLACKJACK $ 9.95 
OTHERS 

S.A.S.E. for information. Will work on 
any 1802 system with terminal and 4K 
memory. Written in machine language 
by L. Sandlin. 

ELF II cassette and listing. Texas 
Residents add 6% Sa. Tx. 

SANSOFT PLUS ^si 32 
PO BOX 58170 
Drawer 900 
Houston, Texas 
77058 
C.O.D. after 6PM (713) 488-7905 



'ENGINEERING ANALYSIS' 
SOFTWARE 

Cassette based Structural Finite Element Program 

analyzes plane frames, space trusses, and grid (floor 
beam) type structures. Models up to 350 DOF (116 
nodes depending on bandwidth) in a 16K Lll machine. 
Easy data entry with free form input and tabulated out- 
put of global displacements, element forces, and 
nodal reactions. Documentation includes theory, 
description of use and examples. $35. ppd. 
Above program expanded to include Space (3-D) 
Frame $50. ppd. 

Truss Force Program is a method of joints solution of 
common trusses (fink, howe, fan, modified queenpost, 
and scissors) with uniform applied loads and equal 
panel lengths. Short data entry with tabulated output. 
$25 ppd. 

Linear Programming (simplex method) optimizes func- 
tions (max or min) having linear constraints. Examples 
include cost optimization of blends, assembly lines, 
transportation routes, etc. Easy data entry with free 
form input handles up to 30 design variables with 30 
constraints in a 16K Lll machine. $20. ppd. 
All programs listed above come on cassettes with 
documentation, ready to run on 16K Lll TRS-80. North 
Star disk versions will be forthcoming in the near 
future. Custom software development is available. 

Write: Engineering Analysis 
Software Consultants 

P.O. Box 26206 . E54 

Fort Worth. Texas 76116 ^ tb4 

Phone: (817) 738-6282 or (214) 298-1248 



THE 
SWITCH 




OPTO ISOLATED 120 VAC 
SOLID STATE SWITCH 

• INPUT 5 VDC 2 MA (TTL) 

• ISOLATION 1500 VDC 

. OUTPUT 6 A 120 VAC 720 W 

• SIZE 2x21 CHANNEL 

• SIZE 2x84 CHANNEL 
PRICE KIT TESTED UNIT 
1 CH. $9.95 $12.50 

4 CH. $34.95 $44.95 

ADD 6% SALES TAX IN CALI- 
FORNIA AND $1.00 SHIPPING 
& HANDLING FOR ORDERS 
LESS THAN $20. ADD 4% FOR 
VISA OR M.C. 

JOHN J. BELL ^B61 

P.O. BOX 338 
REDWOOD CITY, CA 94064 
(415) 367-1137 



v* Reader Service index— page 241 



Microcomputing February 1980 173 



Documentation 
A Closer Look 



The term "documentation," like many others in computing, is used indiscriminately. 

Here's what it means and what documentation includes. 



Patrick C. Moyer 

40 Stuyvesant Manor 

Geneseo NY 14454 



The word documentation is 
used loosely in personal 
computing circles. Taken in con- 
text, it can mean anything from 
a printed listing of a program to 
the addition of a few remark 
lines in the body of the program 
to a written description of the 
operation and structure of a pro- 
gram or system. What does 
documentation really mean? 
What should documentation in- 
clude? 

Generally, documentation is 
any written information that 
adds to a person's ability to 
understand the program/pro- 
grams. Documentation comes 
in two basic forms: internal, 
which is information presented 
within the confines of the pro- 
gram listing or printout/screen 
display, and external, which is a 
printed document written in 
English (i.e., in sentences and 
paragraphs) and accompanies 
the program. 

We cannot stop here, how- 
ever. There are two types of 
documentation: user documen- 
tation and system documenta- 
tion. User documentation is a 
nontechnical guide to the use of 
the program or programs. 
System documentation, on the 



other hand, is meant for the pro- 
grammer whose job is to up- 
date, maintain or modify the pro- 
gram. System documentation 
assumes a certain level of com- 
puter literacy, user documenta- 
tion almost none. 

Each of these groups inter- 
faces in different ways with both 
the program and the machine. 
Each of these groups needs a 
different combination of inter- 
nal and external information to 
satisfy its individual needs. 

In the infancy of personal 
computing (which is fading 
faster everyday), the user and 
the programmer were one and 
the same. The personal com- 
puterist was technician, pro- 
grammer and user. Thus, the 
distinction between the non- 
technical user and the program- 
mer was very fuzzy. As more and 
more users entered the picture, 
it became necessary to make 
this distinction clearer. Let's ex- 
amine the difference between 
these groups and their unique 
needs for documentation. 

User Documentation 

A computer user is a person 
who sees the machine as a tool, 
a means to an end in his job, or 
as an entertainment unit that 
works and works well. He is in- 
terested in how easily and inex- 
pensively he can achieve his 
purpose. The user is usually well 
versed in the application and its 
jargon, but is not a programmer 



or a systems analyst. Thus, user 
documentation must use the 
language that is common within 
that particular field. 

The first item that should be 
included in a user documenta- 
tion is an introduction to the pro- 
gram. This should contain some 
brief background as to why the 
program was written and a little 
about why this program is a 
unique or extraordinary applica- 
tion. Be to the point and factual. 

The user next expects (and 
deserves) step-by-step instruc- 
tions on the use of the program. 
The writer of user documenta- 
tion has to assume that his 
reader has only a limited 
knowledge of the computer he is 
working with, and even the most 
elementary buzzwords should 
be avoided whenever possible. If 
they are used, they should be ex- 
plained precisely and simply. It 
is always better to be too simple 
than too complex. 

If the reader is familiar with 
the information, he can easily 
skip a particular section that is 
too elementary. On the other 
hand, if a user is overwhelmed 
by the language, he will become 
discouraged and will never have 
the benefits of the program. It is 
a good idea to try directions out 
on a co-worker or a family mem- 
ber, because as always, "You 
may think you know what you 
thought you said 

Next, you should include a full 
explanation of all inputs and 



outputs. Even if the printout or 
screen display explains them in 
detail, explain them again in 
print. Explain what inputs are 
needed. A simple game program 
may just need a name or a few 
instructions. The user may want 
to use them while he is learning 
the game. For more complex ap- 
plications, the need is greater. 
For example, what are the max- 
imum number of entries allowed 
in an inventory program? What 
are the restrictions on the size of 
names and addresses on a mail- 
ing list program? 

Basically, write what informa- 
tion the user must supply to 
achieve the results he wants. 
Many users think the machine 
can handle any situation and 
produce magical results with lit- 
tle input. Unfortunately, this is a 
common misconception among 
first-time computer users. 

Indicate whether the program 
requires that information be in a 
specific format or if a particular 
format will make entering the in- 
formation easier. This can save 
the user many errors and much 
time. 

A sample of all output should 
be included, whether this be 
hard copy, printed output or just 
a screen display. You should ex- 
plain this sample as precisely as 
possible. The user needs only to 
review the sample to gain in- 
sight. Remember that in most 
cases the only link with the user 
is the documentation. Antici- 



174 Microcomputing February 1980 



pate his questions. 

The documentation should 
always include a listing of the 
program or system's require- 
ments in regard to hardware, 
software and personnel. Is a cer- 
tain operating system neces- 
sary in order to run the program? 
Is it assumed the user has a cer- 
tain subroutine or function 
available to him? What hard- 
ware is needed to use the pro- 
gram: 4K, 16K, 48K, a printer, 
dual disk drives? 

Be realistic about memory 
and hardware. The world's most 
efficient mailing list program 
may run on 16K, but if it will only 
handle 100 names it is going to 
have very limited use. But if it 
will run better and more reason- 
ably using 48K and dual disks, 
say so. If it is that good, the 
equipment will be no problem. 

Will the user have to have 
special skills? Can it be used by 
an unskilled employee, or does 
the user have to be a CPA? Does 
the user have to be an expert 
chess player, a poker wizard or a 
Star Trek fanatic just to use and 
understand this program? Is the 
educational program meant for 
college students or first- 
graders? Be aware of the user, 
his abilities and limitations. 

Always include an estimate of 
the run time and cost of operat- 
ing the program. Will it take 100 
hours or one hour to enter and 
print 1000 names into the mail- 
ing list program? Does it take an 
hour or two minutes to play a 
game or execute a simulation 
with the program? If it is a 
business activity, how much will 
it cost both in terms of computer 
and personnel time and effort. 

A good user documentation 
should, then, contain at least 



the following elements: an in- 
troduction, step-by-step user in- 
structions, a set of input/output 
specifications, program require- 
ments and cost/run estimates. It 
is also helpful to insert any other 
relevant information or outside 
references that might aid the 
user in efficiently using this pro- 
gram or system of programs. If 
you use certain formulas or 
techniques that would be of in- 
terest or importance to the user, 
place them here. To help in 
writing user documentation see 
the outline in Example 1. 

System Documentation 

Systems documentation, on 
the other hand, is written for the 
systems analyst or programmer 
who finds it necessary to 
change or modify the program. 
He needs a technical descrip- 
tion of the structure of the pro- 
gram. He needs to gain access 
to the internal functioning of the 
program as efficiently as possi- 
ble. 

The first component of the 
documentation should be a 
copy of the user documentation. 
It is imperative that the pro- 
grammer or analyst understand 
how the program is supposed to 
work so he can modify or update 
it. However, there are a number 
of additional items that should 
be included. 

It is necessary to have a writ- 
ten description, in English, of 
how the program actually func- 
tions, that is, a step-by-step 
commentary on the operation 
and content of the program. It is 
a good idea to coordinate it with 
the next major component of the 
system documentation, the pro- 
gram listing. A useful technique 
is to key the description to par- 



I. INTRODUCTION 

a short description of the purpose and function of the program 

II. STEP-BY-STEP USER INSTRUCTIONS 

a guide to using the program 

III. INPUT/OUTPUT SPECIFICATIONS 

a description of all needed input and all produced outputs 

IV. PROGRAM REQUIREMENTS 

a listing of all needed hardware, software and personnel needed for pro- 
gram operation 

V. COST/RUN TIME ESTIMATES 

a listing of time and, if applicable, cost of running program 
ADDENDUM 

other necessary information needed by user, e.g., formulas used in pro- 
gram calculations 

Example 1. User documentation outline. 



ticular sets of line numbers. For 
example, list a starting and end- 
ing line number, and in print 
beside it, discuss the purpose 
and function of these statement 
lines. 

As mentioned above, the next 
major addition necessary to the 
system documentation is an ac- 
curate and dated program 
listing. Computer programs are 
often changed, thus it is always 
necessary to have a copy and 
date of the very latest listing of 
the program so that it can be 
easily referenced. The program 
listing should also contain suffi- 
cient comment/remark lines to 



indispensable as a good circuit 
diagram is to an electronics 
technician. It is easier to use a 
flowcharting template with 
standard symbols, but it can be 
drawn freehand. 

Most introductory program- 
ming texts include a section on 
flowcharting, which can be used 
as a guide. Drawing a flowchart 
of the program can be a tedious, 
time-consuming task, but it is 
worth it in the long run. 

Summary 

A system documentation con- 
tains the following: a copy of the 
user documentation; a narrative 



I. USER DOCUMENTATION 

a copy of the user documentation is enclosed here 

II. PROGRAM NARRATIVE 

a written commentary on the program's operation 

III. PROGRAM LISTING 

a printed, internally documented program listing 

IV. VARIABLE REFERENCE TABLE 

a table listing variables and information about them 

V. SUPPLEMENTAL DATA 

information on modification or extension of programs 

VI. A FLOWCHART 

a complete flowchart of the program 
ADDENDUM 

any additional information which may be of help or interest 

Example 2. System documentation. 



be as self-explanatory as possi- 
ble. Remark lines are an integral 
part of the program and need to 
be treated with the same impor- 
tance as all other "necessary" 
statements. 

The documentation should in- 
clude a variable reference table, 
which lists all the variable 
names that are used in the pro- 
gram. In addition, this table con- 
tains what the variable stands 
for or is used for during the pro- 
gram. Also included is any addi- 
tional pertinent information 
about the variable, such as 
usage (i.e., integer, string, etc.), 
limits or restrictions. 

It can also be instructive to of- 
fer any supplemental informa- 
tion that might be useful to the 
person who works on the pro- 
gram. It may be helpful to add 
any ideas for possible expan- 
sion or modification. Be specific 
in the suggested modifications, 
including before and after line 
listings. 

A flowchart is another neces- 
sary item for good documenta- 
tion. A good flowchart can be as 



of the program operation; a 
printed listing of the program, 
including remarks; variable 
reference table; supplemental 
information; and a flowchart. 
Example 2 is an outline that may 
be useful in preparing system 
documentation. 

The initial cost to the pro- 
grammer in time and effort to 
create a good set of program 
documentation is substantial. 
The end result, however, is 
worth it. A program or set of pro- 
grams is of no use to anyone if It 
cannot be used to its fullest, or 
modified in a changing situa- 
tion. This is also true of the pure- 
ly personal program written only 
for the enjoyment of the pro- 
grammer. Many good programs 
are going to waste because 
either the programmer forgets 
he has the program, or has for- 
gotten how to use it and finds it 
easier to write a new one rather 
than figure out the old. The habit 
of preparing complete docu- 
mentation, once started, be- 
comes automatic as well as 
rewarding. ■ 



Microcomputing February 1980 175 




-| For Apple II | | 



"\ 




scoR£«eeeee Hi-scoPEi-eeeee 



VRDE ** 



" *? MYSTERY 
*-30 POINTS 
*-20 POINTS 
'■10 POINTS 

MIT ANY KEY TO ESCAPE 




The Game That Drove Japan CRAZY! 






• Features superb high resolution graphics, nail-biting tension and 
hilarious antics by the moon creatures! 

• Self-running "attract mode" of operation for easy learning and 
demonstrating of the game. 

• As good in every way as the famous Invaders arcade game. 



• High speed action ! 

• On cassette or 5" floppy disc. 



• Sound effects! 



CS-4006 



CS-4503A 



Only $19.95 

Requires 24K Apple II with Integer Basic 
(main program is in machine code). 




Order Today 

Send payment plus $1.00 shipping and handling in the U.S. ($2.00 foreign) to 
Creative Computing Software, P.O. Box 789-M, Morristown, N.J. 07960. N.J. residents 
add $1 .00 sales tax. Visa, Master Charge and American Express orders may be called in toll 
free to 800-631-8112 (in N.J. 201-540-0445). 



• C169 



Produced under exclusive 
license from Cosmos Software, 
Astar International Co., Ltd. 



V 



sensational 
software 



creative 

computing 

software 



V. 



Creative Computing 
Software 

P.O. Box 789-M 
Morristown, NJ 07960 

Dealer inquiries invited. 



176 Microcomputing February 1980 



Level II 

TRS-80 Graphics Code 



Break the built-in Level II graphics code and use It 



Fred Blechman 
7217 Bernadine Ave. 
Canoga Park CA 91307 



Have you noticed how 
some TRS-80 Level II pro- 
grams run with unusual graphic 
figures, such as racing horses? 
While, to some degree, this can 
be done in Level I with SET com- 
mands, Level II has a graphic 
code built into the ROM BASIC 
that is much faster in both 
operation and programming. 
This article will describe the 
simple way to break the code 



and use it, illustrating the 
technique with a couple of 
short programs. 

Displaying Graphics 

The TRS-80 display screen is 
divided into 1024 printing loca- 
tions, to 1023 (64 across by 16 
down). Normally, each of these 
locations is occupied by a let- 
ter, number, symbol or blank, 
i.e., a character. Each of these 
locations is a rectangular area 
divided into six segments (two 
columns of three rows each), as 
shown in Fig. 1. By proper use 
of the CHR$ command, you can 
light any single segment or 
combination of segments on 



your display. By putting these 
combinations together, you 
can form symbols, shapes, 
large letters, simulated playing 
fields, etc. 

Fig. 2 shows the graphic 



COL I COL 2 



ROW 



ROW 2 



ROW 3 





J 




J 







r 



I OF I024 

PRINTING LOCATIONS 

SEGMENT 



ROW 2, COLUMN 2 
SEGMENT 



Fig. 1. How a printing location 
is divided into segments. 



code for each of the possible 64 
segment "on" combinations, 
from "all segments off" (128) to 
"all segments on" (191). These 
are used in a program as 
CHR$(number). For example, if 
you used CHR$(157) in a pro- 
gram after a print instruction, 
you'd light all column 1 seg- 
ments as well as the column 2 
segment of row 2 at the current 
printing location. As another 
example, CHR$(140) lights both 
columns of row 2 at the current 
printing location. 

Actually, this graphic code is 
based on a binary code and is 
easy to remember if you crack 
the code. Look at Fig. 3. Notice 



NOTE BORDERLINES SHOWN FOR REFERENCE THEY DO NOT APPEAR ON THE DISPLAY 



I28 



I37 = 



I46 



155 = 



164 » 



173 



182 



8 

i 

IL 

B 

I 
i 



129 



138 ■ 



147 = 



156 



165 = 



174 



183 



rj 

r 

1 
C 



130 



139 = 



148 = 



157 = 



166 



175* 



184 = 



Y 
ffl 

1 

a 



131 



140 



149 = 



158 = 



167 



E 



176 



185 = 



1 



132 = 



141 



150 = 



159 = 



168 = 



177 



186 = 



191 







I 



133 



142 ■ 



151 



160 



169' 



178 = 



187' 






a 
i 



134 = 



143 = 



152 = 



161 



170' 



179 



188 




i 



] 

D 

e 



135 



144 = 



153 



162 = 



171 * 



180 



189 



a 



136 = 



145 



154 = 



163 



172 



190 





D 

a 
ii 

i 



Fig. 2. TRS-80 graphic code. (M = lighted segment) 



Microcomputing February 1980 177 



(157) (140) (172) (131) (129) 




Fig. 4. Graphic horse or dog us- 
ing five printing locations. 



that each of the six segments in 
a printing location is assigned 
a decimal number representing 
the powers of 2. Going from left 
to right, and from top to bot- 
tom, starting with 1, each num- 
ber is exactly twice the pre- 
vious number. This is the basis 
of binary counting. 

To determine the TRS-80 
graphic code number, just add 
the numbers of each lighted 
segment, and then add 128! 
Fig. 3 shows some examples. 
Now you won't have to have 
Fig. 2 handy all the time, since 
you'll be able to quickly deter- 
mine the number you want for 
every one of the possible 64 
combinations. Remember, 128 
is a total blank space, and 63 
(total of all segments) plus 128 
is equal to 191, a fully lighted 
space. 

To design your own symbol 
or large letters, use the "TRS-80 
Video Display Worksheet" in 
your manual (page E/1). Simply 
draw lightly in pencil whatever 
shape you want, noting that the 



heavier lines on the worksheet 
form the 1024 printing location 
rectangles, and the lighter lines 
subdivide these rectangles into 
six segments each. Now, con- 
vert your design to the proper 
combination of CHR$ numbers 
to "draw" this shape on your 
display screen. 

An example will make this 
more understandable. Look at 
Fig. 4. This is a symbolic horse 
or dog composed of five CHR$ 
numbers on a single display 
line. You can place this "dog" 
anywhere on your screen with a 
PRINT® instruction. How 
about a racing dog? Try the 
short program, which I call 
"RUN, SPOT, RUN," in Example 
1. 

Line 40 creates enough pause 
in the program for "Spot" to re- 
main at one location long 
enough to be visually stable. 
Line 50 blanks out the space for 
the next image (try running 
without line 50 and watch what 
happens)! Line 70 (and the 
semicolons at the ends of lines 
30 and 50) keeps "Spot" from 
being chopped into small 
pieces that scroll up the 
screen. 

Perhaps you'd like to see 
your name in huge letters on 
the screen. Fine. Just follow 
the same procedure, but re- 
member that you'll need sev- 
eral screen lines. Since you'll 
be commanding a relatively 
large number of locations on 



the screen, READ/DATA state- 
ments make sense. If you'd like 
to see my name in big letters 
(over 2 inches high), try the pro- 
gram in Example 2. 

This by no means exhausts 
the possibilities of using the 



graphic code. You are only real- 
ly limited by your imagination, 
patience and the size of the 
computer memory. Example 3 
shows a listing of a 5-dog race, 
with graphic dogs, a finish line 
and winner announcement. ■ 



10 


CLS 


















20 

30 


X = 
PRINTSX 


CHRt(l57) , 


CHRf (140). CHRf (172) 


.CHRf (131) 


.CHRf ft 


r9) . 


40 


FOR Y=l 


TO 


40 


NEXT 


Y 










50 


PRINT3X 


■ 




tl 

f 












60 


X=X+1 


















70 


IF x=iei8 


CLS 


X=0 














GOTO 30 










Example 1. 









10 
20 
30 
40 
50 
80 
65 
70 
75 
80 
85 
90 
95 

100 
105 
113 
115 
129 
125 
130 
135 
140 
I4S 
159 
135 
169 
165 
509 
519 
520 
530 
540 



CLS 

PRINT§266. CHRf (191); 

PRINT8330. CHRf (191) ; 

PRINT8394. CHRf (191) ; 

PRINT§453 CHRf (191); 

PRINT«522. CHRf (191) ; 

G0T065 

DATA191 . 191. 191, 191 , 

DATA 191. 191. 131 , 191 

DATA128 128,128.191. 



GOSUB500 
; GOSUB500 

GOSUE500 
: GOSUB500 

GOSUE500 

191.191.191. 191.128 128 
,191.191.191.191. 180 
191,191.191, 191.191,191 



DATA 191. 191. 128, 128.191.191 ,191. 191 191 . 191 . 189. 144 
DATA191. 191.123. 128.128.123 128.128, 128,1 
DATA 131. 191 • 191. 128.128.128.179,191.191. 
DATA191. 191. 191. 128. 128,128.128. 128.128 
DATA 128 128. 191. 191 .191.128, 128. 139,131 
DATA131. i .91. 191. 191,191.128.128,128. 128 
.191. 19i.l91,191.191,191.191 
191, 191.191. 191 . 128.128, 128 



8.128 



191.191 



DATA 128 191 
DATA191 , 191 , 
DATA12S 
DATA 191 
DATA 128 
DATA191 
DATA128. 
DATA 191 
DATA12S 
DATA 191 



135. 128. 128. 128 



128. 
191, 
191 
191, 



191. 191 
128, 128. 
131. 191 
191 . 128 



128. 191. 191 



191.128,123.128 
128.128.128.128.123 
128.139.191.191. 180 
128. 128.128.123. 128 
191.128. 128, 184. 191 
191. 128. 128,128.128.128. 128. 128 
191. 191. 191. 128, 128. 139, 191.191. 189 
191.191,191, 191.191. 191 ,191.191 
DATA128, 128.191, 191.191.191.191,191,191.159 
F0RR=1T042 
READX 

PFINTCHRf (X); 
NEXTR 
RETURN 



191 , 191 



128,128. 128. i; 



191 . 191 



1 7 



6. 128. 1 22 






Example 2. 



SEGMENT 
VALUES 



CHR$(I57) 



1 


2 


4 


8 


16 


32 



CHR$(I40) 





iH 





"8" 




"8' 




'16" 



I ♦ 4 ♦ 8 + 16 * 29 

29-H28-057 



CHR $ (172) 



CHR* (131) 





LIGHTED 
SEGMENT 



4 + 8 * 12 

12 ♦ 128 ■ 140 



4 ♦ 8 ♦ 32 » 44 

44 + 128*172 



1 + 2 « 3 

3 t- 128 * 131 



CHR* (129) 



1 

I 






I ♦ 128 = 129 



Fig. 3. Cracking the code. 



5 REM * DOGRACE WITH GRAPHIC DOGS 

6 REM * FRED BLECHMAN * 

7 REM * SET SPEED AT LINES 60-100 
10 CLS 

15 FOR Y=3 TO 29 : SET( 123. Y) NEXT 

20 A=64=B=192 C=320 D=44S E=57£ 

21 PRINT8A. CHRf (157) , "1" ; CHRf (172) 

22 PPINTfB.CHRf (157)."2".CHRf(172) 

23 PRINTSC, CHRf ( 157) ; "3" , CHRf (172) 

24 PRINTED. CHRf (157) ,"4" .CHRf (172) 

25 PRINTSE, CHRf (157) , "5" , CHRf ( 172) 

26 GOTO 55 

30 PRINTSA. CHRf (157) . " 1 "; CHRf ( 172) 

31 PRINT8B. CHRf (157) ; "2" CHRf (172) 

32 PRINTCC. CHRf (157) , "3" ; CHPf (172) 

33 PRINTED, CHRf(157) ; "4" , CHRf (172) 
114 PRINT8E. CHRf (157) ."5" .CHRf (172) 

50 IF A>129 PRINT§730,"*1 WINS' ' ' " 

51 IF B>248 PRINT<»730."*2 WINS!!!" 

52 IF C>376 PRINT§730."*3 UINSM!" 

53 IF D>504 PRINTe730,"*4 UINS' 1 '" 

54 IF E>632 PRI NTS730. "f5 WINS 1 ''" 

55 X=RND(5) 

56 ON X GOTO 60.70,80.90,100 
60PRINTiA. H " ; A=A+1 GOTO30 
70 PRINTBB." " . B=B+1 G0T031 
80PRINTSC." " , C=C+1 G0T032 
90PRINTSD." " i D=D+1 G0T033 
199 PRINTSE," " ; E=E+1 G0T034 



- LEVEL I I X 
(A=A+2.ETC ) I 



, CHRf (131) 

CHRf (131) 

CHRf (131) 

.CHRf (131) 

.CHRf (131) 



CHRf (129) 
CHRf (129) 
CHRf (129) 
CHRf (129) 
CHRf (129) 



; CHRf (131) CHRf (129); GOTO50 
.CHRf (131 ); CHRf (129) , GOTO50 
; CHRf ( 1 3 1 ) . CHRf (129). GOTO50 
.CHRf (131) ; CHRf (123) . GOTO50 
.CHRf (131 ) .CHRf (129) ; 

END 

END 

END 

END 

END 



Example 3. 



178 Microcomputing February 1980 



Computer Design Labs 



Z80 Disk Software 



We have acquired the rights to all TDL software (& hardware). TDL software has long had the reputation of beinq the best in the 
industry. Computer Design Labs will continue to maintain, evolve and add to this superior line of quality software 

. — Carl Galletti and Roger Amidon, owners. 



All of the software below is available on 
any of the following media for operation 
with a Z80 CPU using the CP/M* or similar 
type disk operating system (such as our 
own TPM*). 

for TRS-80* CP/M (Model One) 
tor ft" CPM (soU sectored single density) 
for 5V CP/M (soft sectored single density) 
for 5 1 /4" North Star CP/M (single density) 
for 5V 4 " North Star CP/M (double density) 

BASIC I 

A powerful and fast Z80 Basic interpreter 
with EDIT, RENUMBER, TRACE, PRINT 
USING, assembly language subroutine 
CALL, LOADGO for "chaining", COPY to 
move text, EXCHANGE, KILL, LINE INPUT, 
error intercept, sequential file handling in 
both ASCII and binary formats, and much, 
much more. It runs in a littleover 12 Kand is 
ROMable. An excellent choice for games 
since the precision was limited to 7 digits in 
order to make it one of the fastest around. 
$69.95. 

BASIC II 

Basic I but with 12 digit precision to make 
its power available to the business world 
with only a slight sacrifice in speed. Still 
runs faster than most other Basics (even 
those with much )ess precision). $99.95 

BUSINESS BASIC 

The most powerful Basic for business 
applications. It adds to Basic II with random 
or sequential disk files in either fixed or 
variable record lengths, simultaneous 
access to multiple disk files, PRIVACY 
command to prohibit user access to source 
code, global editing, added math functions, 
and disk file maintenance capability without 
leaving Basic (list, rename, or delete). 
$159.95. 

ZEDIT 

A character oriented text editor with 26 
commands and "macro" capability for 
stringing multiple commands together. 
Included are bidirectional search with 
optional replace and a complete array of 
character move, add, delete, and display 
functions. $49.95. 

ZTEL 

Z80 Text Editing Language - Not just a 
text editor. Actually a language which allows 
you to edit text and also write, save, and 
recall programs which manipulate text. 
Commands include conditional branching, 
subroutine calls, iteration, block move, 
expression evaluation, and much more. 
Contains 36 value registers and 10 text 
registers. Be creative! Manipulate text with 
commands you write using Ztel. $68.95. 

TOP 

A Z80 Text Output Processor which will 
do text formatting for manuals, documents, 
and other word processing jobs. Works with 
any text editor. Does justification, page 
numbering and headings, spacing, 
centering, and much more! $68.95 

*Z80 is a trademark of Zilog 

*TRS-80 is a trademark of Radio Shack 



MACRO I 

A macro assembler which will generate 
relocateable or absolute code for the 8080 
or Z80 using standard Intel mnemonics plus 
TDL/Z80 extensions. Functions include 14 
conditionals, 16 listing controls, 54 pseudo- 
ops, 11 arithmetic/logical operations, local 
and global symbols, chaining files, linking 
capability with optional linker, and 
recursive / reiterative macros. This 
assembler is so powerful you'll think it is 
doing all the work for you. It actually makes 
assembly language programming much 
less of an effort and more creative. $49.95 

MACRO II 

Expands upon Macro I's linking 
capability (which is useful but somewhat 
limited) thereby being able to take full 
advantage of the optional Linker. Also a 
time and date function has been added and 
the listing capability improved. $68.95 

LINKER 

How many times have you written the 
same subroutine in each new program? Top 
notch professional programmers compile a 
library of these subroutines and use a 
Linker to tie them together at assembly 
time. Development time is thus drastically 
reduced and becomes comparable to 
writing in a high level language but with all 
the speed of assembly language. So, get the 
new CDL Linker and start writing programs 
in a fraction of the time it took before. Linker 
is compatible with Macro I & II as well as 
TDL/Xitan assemblers version 2.0 or later 
$68.95 

DEBUG I 
Many programmers give up on writing in 
assembly language even though they know 
their programs would be faster and more 
powerful. To them assembly language 
seems difficult to understand and follow, as 
well as being a nightmare to debug. Well, 
not with proper tools like Debug I. With 
Debug I you can easily followtheflow of any 
Z80 or 8080 program. Trace the program 
one step at a time or 10 steps or whatever 
you like. At each step you will be able to see 
the instruction executed and what it did. If 
desired, modifications can then be made 
before continuing. It's all under your 
control. You can even skip displaying 
a subroutine call and up to seven break- 
points can be set during execution. Use of 
Debug I can pay for itself many times over 
by saving you valuable debugging time. 
$69.95. 

DEBUG II 

This is an expanded debugger which has 
all of the features of Debug I plus many 
more. You can "trap" (i.e. trace a program 
until a set of register, flag, and/or memory 
conditions occur). Also, instructions may 
be entered and executed immediately. This 
makes it easy to learn new instructions by 
examining registers/memory before and 
after. And a RADIX function allows chang- 
ing between ASCII, binary, decimal, hex, 
octal, signed decimal, or split octal. All 

*TPM is a trademark of Computer Design Labs It is not 
CP/M* *CP/M is a trademark of Digital Research 



these features and more add up to give you 
a very powerful development tool. Both 
Debug I and II must run on a Z80 but will 
debug both Z80 and 8080 code. $88.95. 

ZAPPLE 

A Z80 executive and debug monitor. 
Capable of search, ASCII put and display, 
read and write to I/O ports, hex math, break- 
point, execute, move, fill, display, read and 
write in Intel or vinary format tape, and 
more! Disk $19.95. Also available in 2Kx8 
ROM with initialization for the SMB I or II 
(3 ACIA's and 1 PIA) $34.95. 

SMB II bare board $49.95. 
One PIA and four 74LS244's for SMB II 

$12.95 
8080 version of Zapple - disk $19.95 
on 2516 $49.95 

TPM* 

A NEW Z80 disk operation system! This 
is not CP/MV It's better! You can still run 
any program which runs with CP/M* but 
unlike CP/M* this operating system was 
written specifically for the Z80' and takes 
full advantage of its extra powerful instruc- 
tion set. In other words its not warmed over 
8080 code! Available for TRS-80*. Tarbell, 
ICOM, Xitan DDDC, SD Sales "VERSA- 
FLOPPY", North Star (SD&DD), and Digital 
(Micro) Systems. $49.95. 

PAYROLL 

The Osborne package. Requires C Basic 2 
2 disks $74.95 Book $15.00 

ACCTS REC/ACCTS PAY 

By Osborne. Requires C Basic 2 $99 95 
Book $15.00. 

GENERAL LEDGER 

By Osborne. Requires C Basic 2 $99.95 
Book $15.00 

C BASIC 2 

Required for Osborene software $99.95 
Manual included. 

ORDERING INFORMATION 

Visa, Master Charge and COD. O.K. To 
order call or write with the following infor- 
mation. 

1. Name of Product (e.g. Macro I) 

2. Media (e.g. 8" CP/M) 

3. Price and method of payment (e.g. 
COD.) include credit card info, if 
applicable. 

4. Name, Address and Phone number. 

5. For TPM orders only: Indicate if for 
TRS 80, Tarbell, Xitan DDDC, SD Sales 
(5%" or 8"), ICOM (5%" or 8"), North 
Star (single or double density)or Di- 
gital (Micro) Systems. 

6. N.J. residents add 5% sales tax. 



For Phone orders only call toll free 

1-800-327-9191 Ext. 676 

(Except Florida) 

1-800-432-7999 Ext. 676 (Florida) 

Computer Design Labs 



342 Columbus Avenue 
Trenton, N.J. 08629 

Dealer inquiries invited. 



«^C156 





For tech calls United Software Applications 609-599-2146 or Otto Electronics 609-448-9165 



iS Reader Service index— page 241 



Microcomputing February 1980 179 



When the people 

behind the products count! 



(Formerly the CPU Shop) 



TM 



SPECIALS 



Regular 
Price 



Star Hori* 



32 K, quad-density, assembled and tested $25& 

32 K, quad-density, assembled and tested $32 1 5 

$1895 
$ 149 



Price 
174 

$2719 
589 
109 









-! 



ComputerCity Sampler 
Disk Drives 



When you're ready to add disk storage to your TRS-80*, we're here to help. 
Our CCI-100™ and -200 m drives offer more capacity than Radio Shack 35-Track (85K Bytes) drives. These drives 
are fully assembled, tested and ready to plug-in the moment you receive them. They can be Intermixed with each 
other and Radio Shack drives on the same cable. 90 day warranty. 

CCI-100 ,M 40 Track (102K Bytes) $399.00 CC1-200 ,M 77 Track (197K Bytes) $675.00 



Printers 

Letter Quality High Speed Printer 

NEC Spinwriter: In- 
cludes TRS-80* inter- 
face software, quick 
change print fonts, 55 
CPS, bidirectional, 
high resolution plot- 
ting, graphing, pro- 
portional spacing and 

tractor feed assembly. 90 day warranty $2979.00 
Also: Centronics, Paper Tiger, HI Plot Digital Plotter 

16K Memory Up-grade Kits 
Fast and ultrareliable $99.00 

DISK OPERATING SYSTEMS 

MEWDOS by Apparat + $49.95 

NEWDOS "PLUS" by Apparat f $99.95 

DOS 3.0 by the original author of 2.1 $49.95 



DISKETTE TRS-80* 

BUSINESS SOFTWARE BY SBSG 

Free enhancements and upgrades to registered 
owners for the cost of media and mailing. 30 day free 
telephone support. User reference on request. 
Fully Interactive Accounting Package: General Ledger, 

Accounts Payable, Accounts Receivable and Payroll. 

Report generating. 

Complete Package (requires 3 or 4 drives) $475.00 

Individual Modules (requires 2 or 3 drives) $125.00 



Inventory 11: (requires 2 or 3 drives) 
Mailing List Name & Address II 

(requires 2 drives) 
Intelligent Terminal System ST-80 111: 
The Electric Pencil from Michael Shrayer 
File Management System: 
Budget Control Program II by CSA 
Cash Register System II by CSA 



$ 99.00 

$129.00 
$150.00 
$150.00 
$ 49.00 
$ 49.95 
$ 99.00 



ComputerCity 



TM 



A division of CPU Industries, Inc. •" C10 ° 

175 Main Street, Dept. K-2Charlestown, MA 02129 



Hours: 10AM - 6PM (EST) Monday - Saturday 
For detailed information, call 617/242-3350 
Massachusetts residents add 5% Sales Tax 

TM CCi-100 &-200 are ComputerCity inc. trademarks 

TRS-80 is a trademark of Radio Shack, a Tandy Corporation tRequires Radio Shack TRSDOS" 
Prices subject to change without notice 



TO ORDER CALL TOLL FREE 1-800-343-6522 

Massachusetts residents call 617/242-3350 

Retail Store Locations: 

175 Main Street, Charlestown, MA 

K Mart Plaza, Manchester, NH 

50 Worcester Road(Rt9), Framingham, MA 

165 Angell Street, Providence, Rl 



Visa and Master Charge accepted 
Franchise and dealer inquiries invited 



180 Microcomputing February 1980 




I made the TRS-80 into a serious computer. 
Now I've made the Model II into a spectacular one. 



I'm Irwin Taranto, and I've helped almost a 
thousand businesses get their first computers up 
and running. 

I've done it primarily with the TRS-80, because it's 
a really elegant piece of hardware. Given the right 
programs, it can do substantially the same work as 
the traditional minicomputers that cost four times 
as much. 

I proved it with four on-line, interactive programs 
adapted from the genuine Osborne & Associates 
systems, originally designed for the $30,000 Wang 
computer. Then I added two of my own and made 
them all work on a $4000 TRS-80. 

Now I've done the same thing for the new TRS-80 
Model II. It's an $8000 computer that works twice as 
fast and has four times the memory — up to two 
million characters. 

My new systems are fully documented, and 
because I'm working with a much more powerful 
computer, they're a night-and-day advance over the 
Model I programs. They'll turn your Model II into a 
complete business computer, set up and ready to go. 



When I say set up and ready to go, I mean just 
that. If you're not quite sure on that point, call the 
number below and we'll give you the names of some 
of the people who've already bought all over the 
world. Call them up and hear what they have to say. 

These Model II programs are completely custom- 
tailored, which explains their $249.95 price. Before 
we'll send you a disk, you have to fill out a detailed 
questionnaire that tells us your precise business 
requirements. Then we send you the disk, all the 
instructions you need, and my phone number. If you 
call, we answer all your questions. If your questions 
are tough enough, I'll talk to you personally. 

Because that way I'll make sure that Model II of 
yours turns into a spectacular computer, just like 
I promised. 



r 



THE TRS-80 MODEL II PROGRAMS 

General Ledger/Cash Journal: handles up to 7000 transactions 
on 500 different user-defined accounts. It keeps track of them by 
month, quarter and year, makes comparisons to the prior year, 
and does departmentalization. 

Accounts Payable/Purchase Order: generates the purchase order 
and posts the item to payables when the goods are received. 
Invoice-linked, it calculates and prints checks and aged ledger 
reports and links fully to the general ledger. 

Accounts Receivable/Invoicing: keeps track of billed and 
unbilled invoices, open and closed items, aging and service charge 
calculation. It prints statements, links to the general ledger, and 
can work within either an invoice-linked or balance-forward 
accounting system. 

Payroll/ Job Costing: computes regular, overtime and piecework 
pay, keeps employee files, figures taxes and deductions, prints 
checks, journal, 941-A and W-2 forms, and breaks out individual 
job costs. 



Please send me the custom questionnaires for the following 
$249.95 Model II programs: 

D General Ledger/Cash Journal 

□ Accounts Payable/Purchase Order 

□ Accounts Receivable/Invoicing 

□ Payroll/Job Costing 

Please send me information on the TRS-80 Model I programs at 
$99.95 each 

D Please send me information on other Taranto business programs 



Your name 



Company name 



I 



Address 



City/State/Zip 



*^T57 



Taranto 

& ASSOCIATES, INC. 

PO. Box 6073, 4136 Redwood Hwy, San Rafael CA 94903 • (415) 472-2670 



*A trademark of the Tandy Corporation. 



t/ Reader Service index— page 241 



Microcomputing February 1980 181 



DR. DALEY presents 
Software for the PET and the APPLE 



Dr. Daley's software is proud to announce 
the release of a package of our best selling 
programs. 

These programs, regularly retailing for over 
$400, have been assembled into a single 



package for only $49.95. Included is our best 
selling TREK3, CHECKBOOK, and a mailing 
list, tutorials, games and puzzles for every 
member of the family. All attractively 
packaged in an album. 



50 PROGRAMS ONLY $49.95* 

•After January 1, 1980 the price will be $69.95. Disk version $10 extra. 

Your order will be shipped within four business days from receipt 



Charge your order to 

MC/VISA 



master charge 

' m( NM «e>N« C ABO 




VISA 




DR. DALEY, 425 Grove Avenue, Berrien Springs, Michigan 49103 



^D43 



Phone (616) 471-5514 Sun. thru Thurs., noon to 9 p.m. eastern time. 



DATA TERMINAL EQUIPMENT 



FROM MICRO MAIL 




S0R0C IQ 120 $ 740.°° 

• RS 232C, upper/lower case, full 
ASCII 

• Numeric keypad, protected fields 

• Cursor keys plus addressable cur- 
sor 

• Auxiliary extension port 




LA34 DECwriter IV 

$ 999. 00 

Upper/lower case, 9x7 dot matrix 

10, 12, 13.2, 16.5 characters/inch 

2, 3, 4, 6, 8 or 12 lines/inch 

22"W x 7"H x 15V*"D, 25 lbs. 

110 or 300 baud, RS 232C serial 

ASCII 

Friction feed, paper width to 15" 



S0R0CIQ 140 *1,130. 00 

• RS 232C and 20mA current loop 

• Extensive editing features 

• 25th line terminal status display 

• 16 function keys (32 with shift) 




New 
from DIABLO 

DIABL0 1640 $2,920.°° 
Receive-only $2,525.°° 

High-quality daisywheel printing at 
45 cps. 

DIABLO 1650 ' 3,070.°° 
Receive-only * 2.675.°° 

Metal daisywheel printing at 40 cps. 



T.I. 810 printer $1,599.°° 

• Includes upper/lower case 

• 150 characters per second 

• RS 232C serial interface 

• Adjustable forms tractor 




NEC Spinwriter 

Call or write for prices 



To Order: Send certified check (personal or company checks require 
two weeks to clear) including handling* and 6% sales tax if delivered 
within California. 

'Handling: Less than $2,000, add 2%; over $2,000, add 1%. Everything 
shipped freight collect in factory cartons with manufacturer's warranty. 



iMJCRQIYIfli'L 



MICROMAII 



SANTA 
-4338 



92703 



182 Microcomputing February 1980 



CP/M and You 



Is CP/M really the microcomputer cure-all? The answer is most definitely . . . maybe. 



Thorn Hogan 
Basically Speaking 
719 Anna Lee Lane 
Bloomington IN 47401 



More and more you hear 
about how good certain 
pieces of software are, and how 
they're going to make us 
machine independent. Probably 
at the forefront of this gossip is 
the CP/M system for floppy 
disks and 8080 or Z-80 com- 
puters. Is CP/M really that good, 
or are we being led down the 
path of publicity far outreaching 
capabilities? 

I have read at least a half- 
dozen favorable reviews of the 
CP/M system, including one in 
Kilobaud. Computer stores have 
been touting CP/M as the "soft- 
ware bus" of the future and 
urging customers for almost 
every micro (except 6800s and 
6502s) to get a disk system with 
CP/M. I, too, was bitten by the 
bug and decided to try out a Life- 
boat Associates CP/M for the 
Micropolis system. My reaction, 
however, may take a few people 
by surprise— CP/M is good for 
some things, but it certainly is 
not the answer to everyone's 
dreams. 

Introduction 

Probably the easiest way to 



introduce you to the CP/M sys- 
tem is to lead you through the 
steps that you must take to get 
it operating on your computer. 
First, you must have a floppy 
disk. It doesn't have to be a 
specific make. At last report, the 
following drives have been sup- 
ported by one or more sources 
of CP/M: Tarbell, Thinker Toys, 
Micropolis, North Star, Cromem- 
co, Imsai, Digital Systems and 
ICOM. As you can see, it doesn't 
seem to matter which system 
you get (or does it? . . . more 
about this later). 

About a year ago, I thought 
that the Micropolis Mod I drives 
were a good buy, so I bought 
one— my choice was already 
made, if you will. Therefore, I 
ordered a CP/M system from 
Lifeboat Associates (Suite 505, 
2248 Broadway, New York NY 
10024) and dreamt of the time 
when my computer would be- 
come "one of the gang." 

When the package arrived, I 
took out the manuals and gave 
them a quick reading, which 
took about six hours. Caution: 
CP/M is not a system for the 
novice or for someone who 
balks at computer jargon. The 
manuals are comprehensive, 
but they present a lot of detailed 
material that most novices prob- 
ably will be encountering for 
the first time, and, compared to 
the manuals from Apple, Radio 
Shack and Micropolis, the CP/M 
manuals read like dictionaries. 

Lifeboat Associate's addi- 
tions to the manuals weren't ex- 



actly helpful, either. Luckily, my 
work at a computer store has 
introduced me to a lot of differ- 
ent concepts, and I was im- 
mediately able to make some 
mental leaps that I don't think 
newcomers will make. In addi- 
tion, my familiarity with the 
Micropolis system enabled me 
to understand exactly what was 
going on during all of the steps. 
I suppose that most novices 
could get the CP/M system func- 
tioning on a Micropolis system 
without too much trouble. 
That's assuming, however, that 
they have one of the standard 
I/O systems that Micropolis has 
written drivers for. A customer 
at the store bought a Micropolis 
CP/M for his Exidy/Micropolis at 
the same time I